Задать вопрос
@RLYamakasi

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

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

likes.addEventListener('click', setLike)

6257ff2c3b84b611979214.png
  • Вопрос задан
  • 135 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Stepik
    JavaScript с нуля - основы языка и практика для начинающих
    2 недели
    Далее
  • Merion Academy
    Фронтенд-разработчик с нуля
    4 месяца
    Далее
  • Skypro
    JavaScript-разработчик с нуля
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Решения вопроса 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')));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы