@justice11696

Как удалить элемент массива по классу?

Добрый день. Начал изучать js, не могу понять как мне обратиться к массиву по классу элемента и вообще правильно ли я это делаю. Например у меня стоит такая задача, есть верстка:
<div class="wrap">
     <div class="block red"></div>
     <div class="block red"></div>
     <div class="block red"></div>
     <div class="block"></div>
     <div class="block"></div>
</div>


Я хочу их все собрать в массив. Делаю это вот таким образом к примеру:
let viewBloks = document.querySelectorAll('.block');


Теперь я хочу удалить из массива все элементы имеющие класс ".red". Для этого я решаю перебрать массив с помощью forEach viewBloks.forEach(function (elem) {...}

И вот тут проблема - я не знаю как мне обратиться именно к .red и вообще как правильно: 1) удалять из текущего массива или 2) создать новый. Везде в учебниках обращение по индексу к элементам массивов. Может я что то делаю не так? Заранее спасибо.
  • Вопрос задан
  • 395 просмотров
Решения вопроса 1
Tim-A-2020
@Tim-A-2020
Можно сделать выборку сразу без класса red
document.querySelectorAll('.block:not(.red)')

Циклом перебирать примерно так
document.querySelectorAll('.block').forEach( item => {
     console.log(item.classList.contains('red'))
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 21:25
5000 руб./за проект
28 нояб. 2024, в 18:46
3000 руб./за проект
28 нояб. 2024, в 17:46
10000 руб./за проект