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

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

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
21 мая 2024, в 14:04
90000 руб./за проект
21 мая 2024, в 14:00
500 руб./за проект
21 мая 2024, в 13:51
19000 руб./за проект