@poshuriku
Небольшой рукожоп в области дизайна и фронтенда

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

Есть кнопка у которой id=go и есть несколько div с классом= grid
<a id="go">клик<a>
<div class="grid"></div>
<div class="grid"></div>
<div class="grid"></div>
<div class="grid"></div>
<div class="grid"></div>

Как сделать так чтобы при клике на кнопку всем дивам приписывался class="active"?

Делал так, не получилось:
Классу давал id и через js к нему обращался и он добавлял дополнительный class="active" только первому div. Но надо для всех
<a id="go">клик<a>
<div class="grid" id="r" ></div>
<div class="grid" id="r"></div>
<div class="grid" id="r"></div>
<div class="grid" id="r"></div>
<div class="grid" id="r"></div>

let go= document.getElementById('go');
let r= document.getElementById('r');

go.addEventListener('click', function(){
    r.classList.toggle('active');
})
  • Вопрос задан
  • 538 просмотров
Решения вопроса 2
@wonderingpeanut
Через document.querySelectorAll(selector) находишь все элементы, которым нужно добавить класс. Преобразуешь полученный лист в массив и потом каждому элементу массива добавляешь класс

const elements = document.querySelectorAll('.my-class') // найти все элементы с классом .my-class
const elementsArray = [...elements]; // преобразование в массив
elementsArray.forEach(el => {
  el.classList.add('class-to-add');
}
Ответ написан
Комментировать
Dr_Elvis
@Dr_Elvis
В гугле забанен
document.getElementById('go').addEventListener('click', () => {
  let divs = document.querySelectorAll('.grid');
  for(let d of divs) {
    d.classList.toggle('active');
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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