Как добавить класс элементу блока, при наличии в другом элементе определенного текста?

Есть код:

<div class="block">
	<div class="block__grid">
		<div class="block__col">
			<span class="block__name">Name_1</span>
		</div>
		<div class="block__col">
			<a href="#" class="block__link main-link">Link</a>
		</div>
	</div>
</div>
<div class="block">
	<div class="block__grid">
		<div class="block__col">
			<span class="block__name">Name_2</span>
		</div>
		<div class="block__col">
			<a href="#" class="block__link page-link">Link</a>
		</div>
	</div>
</div>

Нужно сделать, чтобы при условии наличия в .block__name текста 'Name_2' и одновременно у ссылки с классом block__link наличия класса page__link, добавлялся класс is-active для ссылки с классом block__link.
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
document.querySelectorAll('.block').forEach(n => {
  const name = n.querySelector('.block__name').innerText;
  const cl = n.querySelector('.block__link').classList;
  cl.toggle('is-active', name.includes('Name_2') && cl.contains('page-link'));
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы