Задать вопрос

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

Есть код:

<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.
  • Вопрос задан
  • 169 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 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'));
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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