пожалуйста подскажите, есть вот такие блоки:
<div class='block'>
<button class='button'>Кнопка</button>
<div class='info'></div>
</div>
<div class='block'>
<button class='button'>Кнопка</button>
<div class='info'></div>
</div>
<div class='block'>
<button class='button'>Кнопка</button>
<div class='info'></div>
</div>
и есть вот такой код JS
const button = document.getElementById('button');
const info = document.getElementById('info');
button.onclick = function(){
info.classList.toggle('active');
}
Сейчас работает с помощью id . при клике на кнопку добавляется класс active и блок info показывается.
Как сделать чтобы работало без id? Чтобы по клику на кнопку ,к ближайшему к нему блоку info добавлялся класс active через toggle, а остальные блоки при этом не реагировали.
Понимаю что это как то работает this, но как не понимаю
на чистом js хочу понять как это работает
Выбирай:
this.classList.toggle('active');
event.target.classList.toggle('active');
event.currentTarget.classList.toggle('active');
Хм.. Перечитал вопрос - там не на кнопку надо, а на блок, так что так:
event.target.closest('.block').querySelector('.info').classList.toggle('active')
Только полифилл для closest
надо подключить (в зависимости от браузеров).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Какая из этих процедур менее ресурсозатратна?
Как на JavaScript подписать пользователя на уведомления FCM и получить Push-token для сохранения в БД?
Есть через ухо написанный сайт, намешанно в нем дофигаВ итоге при установке google analytics нифига не работает
Столкнулся с проблемой при сохранении текстового файла на гугл диск Есть кнопка