@Kardamon90

Как при проверке на наличие дочерних элементов родителям добавлять классы?

Нужно проверять на наличие дочернего списка ul внутри элемента li другого списка. И если есть - добавить родителю класс _arrow. Прописал такую проверку, но условие срабатывает только на первом элементе, а при добавлении списка в другие - ничего не происходит. Подскажите как можно исправить?

let li = document.querySelector('.catalog__list>li');
	let sublist = document.querySelector('.catalog__sub-list');
	if (li.contains(sublist)) {
		li.classList.add('_arrow')
	}
  • Вопрос задан
  • 32 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
но условие срабатывает только на первом элементе,

ну так вам все элементы обходить нужно, а не только первый.
let items = document.querySelectorAll('.catalog__list>li');
items.forEach(item => {
  let sublist = item.querySelector('.catalog__sub-list');
  if (sublist) {
    item.classList.add('_arrow')
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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