Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.12.2016, 04:34
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Удаление элементов DOM в цикле
Прошу подсказать что я делаю не так?
<div class="object">1</div>
<div class="object">2</div>
<div class="object">3</div>
<div class="object">4</div>
<div class="object">5</div>

<script>
	for(let i = 0; i < document.getElementsByClassName('object').length; i++) {
		document.getElementsByClassName('object')[i].remove();
	}
</script>

Удаляется лишь часть элементов.
Я пробовал в цикле помещать найденные элементы в массив и уже через него удалять, тогда все работает, но создание лишнего массива кажется избыточным.

Последний раз редактировалось spo, 22.12.2016 в 04:38.
Ответить с цитированием
  #2 (permalink)  
Старый 22.12.2016, 04:44
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Получилось так
for(let i = 0, k = document.getElementsByClassName('object').length; i < k; i++) {
	document.getElementsByClassName('object')[0].remove();
}
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2016, 08:51
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от spo
что я делаю не так?
Как минимум, не рационально используешь методы.

<div class="object">1</div>
<div class="object">2</div>
<div class="object">3</div>
<div class="object">4</div>
<div class="object">5</div>
<script type='text/javascript'>
	var obj=document.querySelectorAll('.object')
	for(let i = 0; i < obj.length; i++) {
		obj[i].remove();
	}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 22.12.2016, 08:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Так вот еще...
<div class="object">1</div>
<div class="object">2</div>
<div class="object">3</div>
<div class="object">4</div>
<div class="object">5</div>
<script type='text/javascript'>
	var obj;
	while (obj=document.getElementsByClassName('object'),obj[0]) {
		obj[0].remove();
	}
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 22.12.2016, 09:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

ksa,


Сообщение от ksa
while (obj=document.getElementsByClassName('object'),obj[0])
зачем искать много раз, достаточно одной таблетки

var obj=document.getElementsByClassName('object');
  while (obj[0]) {
    obj[0].remove();
  }
Ответить с цитированием
  #6 (permalink)  
Старый 22.12.2016, 10:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от рони Посмотреть сообщение
достаточно одной таблетки
var obj=document.getElementsByClassName('object');
  while (obj[0]) {
    obj[0].remove();
  }
Да, так лучше.
Ответить с цитированием
  #7 (permalink)  
Старый 22.12.2016, 10:53
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Спасибо всем
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление событий при удалении DOM элементов nextdrift Events/DOM/Window 4 23.11.2015 01:07
автоматическое удаление скоупа директивы при удаление dom узла FanAizu Angular.js 0 25.08.2015 21:38
Удаление добавленных элементов в DOM дереве scrapmetal Events/DOM/Window 3 05.04.2015 17:10
JavaScript/jQuery сортировка элементов DOM onotole Events/DOM/Window 13 26.02.2015 12:54
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33