@RLYamakasi

Как сделать, чтобы работали все кнопки лайка?

Плохо разбираюсь в javascript. в моем коде работает только одна кнопка, querySelectorAll не работает
let likes = main.querySelector('.element__button');
function setLike(){
    likes.classList.add('element__button_active');
}

likes.addEventListener('click', setLike)

6257ff2c3b84b611979214.png
  • Вопрос задан
  • 119 просмотров
Решения вопроса 2
Liatano
@Liatano
querySelectorAll возвращает NodeList, нужно по нему пройтись циклом и дальше уже к каждому элементу применять обработчики. Получится как-то так:
let likes = main.querySelectorAll('.element__button');

for(let i = 0; i < likes .length; i++) {//проходимся циклом
  likes[i].addEventListener('click', function(){
     likes[i].add('element__button_active');
 });
}
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
main.querySelectorAll('.element__button')
  .forEach(el => el.addEventListener('click', () => el.classList.add('element__button_active')));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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