@bazliiii

Где ошибка в js?

Есть простой js код , задача которого пройтись по массиву html айтемов и при клике на нужный добавлять класс , если класс уже на нем есть - удалять
Проблема в том что класс добавляется , но при повторном нажатии не удаляется ( пробовал так же вместо if использовать toggle )
et listItems = document.querySelectorAll(".shipments__table .shipments__item .shipments__item-dots");

Array.from(listItems).forEach((item) => {
    item.onclick = () => {
        Array.from(listItems).forEach((cl) => cl.classList.remove("active"));
        if(item.classList.contains("active")){
            item.classList.remove("active");
        }else{
            item.classList.add("active");
        }
    };
});
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В JS ошибки нету, он работает правильно.
Ошибка в логике вашего кода. Вы сначала удаляете с элемента класс в forEach, затем сразу же включаете обратно в if.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
Удалите строчку
Array.from(listItems).forEach((cl) => cl.classList.remove("active"));
и все заработает
Ответ написан
Ваш ответ на вопрос

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

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