@techday

Как сменить класс по клику?

По клику класс active вешается на один элемент, но если нажать на второй элемент, то он вешается и там, и остается у первого.
Что надо дописать, чтобы класс active был только в одном месте? При нажатии на второй элемент удалялся у первого, а у второго добавлялся и наоборот.

let menuArrows = document.querySelectorAll('.menu__arrow');
	if (menuArrows.length > 0) {
		for (let index = 0; index < menuArrows.length; index++) {
			const menuArrow = menuArrows[index];
			menuArrow.addEventListener("click", function (e) {
				menuArrow.parentElement.classList.toggle('_active');
			});
		}
	}
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
madbaddad
@madbaddad
Js/Ts developer
Доброго времени суток.
Накидал для Вас решение проблемы - https://codesandbox.io/s/unruffled-dew-4viji
Вкратце:
1) Определям элементы, в которые мы можем кликать
2) Создаем функцию на клик. В ней мы ищем элемент который уже активный и если находим - удаляем класс активного элемента. Далее остается повесить класс активного элемента на тот, в который кликнули.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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