Wpis z mikrobloga

Jaki jest najlepszy sposób na pobieranie indeksu diva o danej klasie? Np. Mam 6 divow o klasie button. Chcę zrobić tak żeby jeśli klikne na któregoś to ma się dodać klasa active lub usunąć klasa active jeśli istnieje? Jak to najlepiej rozwiązać nie korzystając z jquery index(). Tylko czysto js. #programowanie #webdev
  • 5
@asus1234: moze nie do konca rozumiem co probujesz zrobic, ale dlaczego chcesz polegac na indexach? masz przypisany event click do każdego diva? wtedy zwykle element.classList.toggle('active') zrobi robote
@Chanandler nie nie mam, metoda musi być uniwersalna. Ktoś może dodać ile przycisków chce i wtedy automatycznie musi byc to togglowanie, nie ważne czy będzie to jeden czy będzie ich 100
@asus1234: Dobrze ci powiedział. Obojętnie ile masz przycisków, skrypt wykonujesz na końcu (przed ) więc dopisze się do każdego.

let btns = document.querySelectorAll('.btn');
btns.forEach(el => {
el.addEventListener('click', () => {
el.classList.toggle('active');
});
});
@asus1234: Lub w przypadku jak może być tylko jeden przycisk active:

let btns = document.querySelectorAll('.btn');
btns.forEach(el => {
el.addEventListener('click', () => {
let current = document.querySelector('.active');
if (current != null) {
current.classList.remove('active');
}
el.classList.add('active');
});
});