@ICE777

Как сделать переборку по классам?

<span class="allow"> 1 </span>
<span class="allow"> 2 </span>
<span class="allow"> 3 </span>
<span class="allow"> 4 </span>
<span class="deny"> 5 </span>

var d = document.getElementsByClassName("allow");
d.forEach((e) => {
e.style = "backgound: red;"
})


Как изменить свойство элементов через класс? А то у меня ошибка что функции нету хоть foreach как бы функция я не понимаю как решить это.
Пожалуйста на js покажите.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
У вас HTMLCollection, а не массив, поэтому forEach нет.

Два варианта:
1. [...document.getElementsByClassName("allow")] для перевода в массив, и далее делаете forEach
2. Если не нужна Live-коллекция элементов, используйте querySelectorAll чтобы найти элементы

Вариант №2 обычно предпочтительнее.

И, не меняйте всё свойство style, а лишь нужный стиль:
e.style.background = 'red';

Поэтому если записать всё максимально коротко, то:
[...document.querySelectorAll('.allow')].forEach(element => {
  element.style.background = 'red';
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы