Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как представить набор div элементов массивом js

Gool Ученик (210), на голосовании 1 год назад
Есть несколько div элементов, которые нужно удалить.
Есть левая колонка и правая, как их удалить?
Попробовал написать функцию, но не понимаю до конца

 function clear(left, right) {   for (let i = 1; i < left.length && right.length; i++) {     left.remove();     right.remove();   } } 
Дополнен 1 год назад
Первый элемент не нужно трогать
Голосование за лучший ответ
Молот Шотландцев Высший разум (301444) 1 год назад
querySelectorAll('div')...
Насколько помню это и даст массив div элементов
Но удаляются элементы вовсе не через массив, а через DOM-дерево
Яков Гото Искусственный Интеллект (321127) 1 год назад
Ты покажи код HTML и отметь, что нужно удалить. Тут миллион вариантов от банальной выборки с помощью функции nth-child, которую поддерживает js, до такой же банальной фильтрации с минус один и/или конструкцией if else.
А преобразовать в массив элементы очень легко, нужно просто использовать спреад ([...elements]) или Array.from(elements)... только что тебе это даст, если тот же forEach, которого более чем хватает для перебора элементов, поддерживает node-коллекции. Да и for обычный тоже... но из твоего примера кода мало что понятно.

Например, есть такое DOM-дерево...
 

Текст 1

Текст 2

Текст 3

Текст 4

Текст 5

Проходимся обратным циклом по всем элементам до -1 и удаляем...
 let element = document.querySelectorAll('.div-container > div') 

for (let i = element.length-1; 0 < i; i--) {
element[i].remove();
}
В итоге останется только самый первый элемент в коллекции.
GoolУченик (210) 1 год назад
все что вложено в left__box и right__box нужно очистить

       



1


Привет




Privet



Яков Гото Искусственный Интеллект (321127) Так?
 document.querySelectorAll('.table div *').forEach(e => e.remove()); 
Похожие вопросы