@jugger1

Как изменить класс элемента при клике на другой элемент c помощью js?

Здравствуйте.

Суть в том, что мне нужно изменить класс в определенном блоке, но у меня меняется во всех блоках.

<div class="main">
		<div class="but">кнопка</div>
		<p class="text">изменить текст</p>
	</div>
	<div class="main">
		<div class="but">кнопка</div>
		<p class="text">изменить текст</p>
	</div>
	<div class="main">
		<div class="but">кнопка</div>
		<p class="text">изменить текст</p>
	</div>
	<div class="main">
		<div class="but">кнопка</div>
		<p class="text">изменить текст</p>
	</div>


Как правильно написать jq код, чтобы при клике на класс "but" изменялся класс "text" только в одном блоке?

Заранее спасибо.
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
sniggering_deus
@sniggering_deus
Mother is a god in the eyes of a child.
При клике на кнопку активный класс добавляется кнопке и блоку с текстом. При повторном клике на активную кнопку активные классы снимаются.

Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@andreysuha
Что то знаю
let mains = [ ...document.querySelectorAll(".main") ];
mains.forEach(main => {
    let btn = main.querySelector(".but"),
         text = main.querySelector(".text");
     btn.addEventlistener("click", () => text.classList.toggle("some-class");
});
Ответ написан
Ваш ответ на вопрос

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

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