bismoney
@bismoney

Как удалять класс active у прошлого элемента?

Подскажите пожалуйста как скрыть прошлый элемент. Никак не могу разобраться.

Есть таблица которая с onClick вида:
<tr class="data__col" id="data__col" data-id="10849" onclick="OpenData(10849)"></tr>
<tr class="data__col" id="data__col" data-id="10868" onclick="OpenData(10868)"></tr>


И есть скрытые элементы
<div class="info__cc" id="show-10849"></div>
<div class="info__cc" id="show-10868"></div>


При нажатии на tr срабатывает функция которая ищет id == show-* и добавляет класс .active.
Но при нажатии на следующий, у прошло остаеться класс active.

Как правильно это реализовать?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
сначала у всех удалите класс,
потом добавьте его кликнутому.

Можно каждый раз выполнять поиск и удалять только у тех, где класс есть:
document.querySelectorAll('tr.active').forEach(el => el.classList.remove('active'));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
function OpenData(id) {
  // сначала удалить
  querySelector('.info__cc.active').classList.remove('active');
  // потом добавить
  ...
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:36
200000 руб./за проект
16 мая 2024, в 23:10
12000 руб./за проект