Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.01.2011, 19:25
Интересующийся
Отправить личное сообщение для DimonCry Посмотреть профиль Найти все сообщения от DimonCry
 
Регистрация: 04.01.2011
Сообщений: 23

небольшая неясность..
создаю функцию, которая вызывается при клике по кнопке для удаления рисунков в тэге body, но по непонятным мне причинам удаляются не все рисунки за один клик, а только половина, при повторном клике удаляется еще половина которая осталась, и так до тех пор пока не останется один рисунок, который также можно удалить одним кликом.
почему нельзя удалить их за один раз??
вот функция:
function deleteImg(){
var img=document.getElementsByTagName('img');
for (var i=0;i<=img.length;i++)
document.getElementsByTagName('body')[0].removeChild(img[i]);
}


ps может надо, рисунки создаются в боди при клике так:
function createImg(){
var imgNode=document.createElement('img');
imgNode.setAttribute('src','map.jpg');
imgNode.setAttribute('width','300');
document.body.appendChild(imgNode);
}
Ответить с цитированием
  #2 (permalink)  
Старый 12.01.2011, 19:37
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Попробуй так:
function deleteImg(){
  var img=document.getElementsByTagName('img');
  for(var i=0; i < img.length; i++){
    var image = img[i];
    image.parentNode.removeChild(image);
  }
}


Обязательно познакомься с FireBug-ом.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #3 (permalink)  
Старый 12.01.2011, 19:49
Интересующийся
Отправить личное сообщение для DimonCry Посмотреть профиль Найти все сообщения от DimonCry
 
Регистрация: 04.01.2011
Сообщений: 23

B~Vladi, тоже самое, удаляет по половине, а если нечетное число, то большую половину сначала удаляет. То же и в Opera и IE(самые новые)
Ответить с цитированием
  #4 (permalink)  
Старый 12.01.2011, 19:52
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

function deleteImg() {
images=document.getElementsByTagName('img');
while(images[0])
images[0].parentNode.removeChild(images[0]);
}


nodelist-динамический,при удалении элементов length меняеться
Ответить с цитированием
  #5 (permalink)  
Старый 12.01.2011, 20:18
Интересующийся
Отправить личное сообщение для DimonCry Посмотреть профиль Найти все сообщения от DimonCry
 
Регистрация: 04.01.2011
Сообщений: 23

Спасибо, работает!

Последний раз редактировалось DimonCry, 12.01.2011 в 20:20.
Ответить с цитированием
  #6 (permalink)  
Старый 12.01.2011, 20:51
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Matre
nodelist-динамический,при удалении элементов length меняеться
Вот я лох
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #7 (permalink)  
Старый 12.01.2011, 21:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Matre, поправлю тебе карму...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна небольшая программа. Сегодня :) danilalomaster Работа 1 04.01.2010 23:58
Небольшая задачка Maksim jQuery 4 30.09.2009 19:43
небольшая проблема с XHR запросом thunder2 Библиотеки/Тулкиты/Фреймворки 12 03.08.2009 13:21
Нужна быстрая небольшая помощь. Плачу 5wmz Zuzlan Работа 3 25.02.2009 16:45
небольшая работа - интерфейс в ява скрипте :) int9 Работа 0 08.12.2008 22:51