@Allan11
Фронтенд

Как убрать класс у всех siblings без JQuery?

Здравствуйте.
У меня код слайдера, в котором я при клике на элемент добавляю ему класс 'active' , а у сиблингов этот класс убираю.
У меня получается удалять класс у следующего или предыдущего сиблинга с помощью nextElementSibling и previousElementSibling, но элемента у меня три, и при клике, например, на первый после третьего это конечно не работает. Подскажите пожалуйста как сделать лучше.

Вот пример кода
  • Вопрос задан
  • 225 просмотров
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
const onClick = (event) => {
  const elem = event.target;
  const siblings = Array.from(elem.parentNode.querySelectorAll(`.${elem.className}`));

  siblings.forEach((sibling) => {
    const isCurrent = (sibling === elem);

    sibling.classList.toggle('active', isCurrent);
  });
};
Ответ написан
Комментировать
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
а не легче дойти до родителя, а потому внутри удалить у всех "active", а нужному добавить?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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