J'ai une liste comme suit :
Item 1
Item 2
Item 3
Et j'ai besoin d'ajouter la classe active à chaque élément individuellement et de la supprimer sur l'élément précédent lors du clic.
Quelque chose de similaire à cette question Vanilla JS remove class from previous selection cependant j'ai besoin d'utiliser une boucle For au lieu de ForEach en raison de la compatibilité du vieux navigateur.
J'ai essayé d'adapter cette réponse à mon exemple :
const items = document.querySelectorAll(".item");
for (let i = 0; i < items.length; i++) {
const item = items[i];
item.addEventListener("click", addActiveClass);
for (let i = 0; i < items.length; i++) {
const item = items[i];
item.addEventListener("click", removeClass);
}
}
function removeClass(e) {
e.target.classList.remove("active");
}
function addActiveClass(e) {
e.target.classList.add("active");
}
Mais ça ne fonctionne toujours pas comme prévu :(