zaza41rus
@zaza41rus

Если в диве больше 1го элемента то добавить класс к диву?

как дабавить класс к диву если внутри него не один элемент, а больше?
например
<body>
<div class="full">
 <img src="img.jpeg">
</div>
<div class="full addClass">
 <img src="img1.jpeg">
 <img src="img2.jpeg">
 <img src="img3.jpeg">
</div>
<div class="full">
 <img src="img.jpeg">
</div>
<div class="full addClass">
 <img src="img1.jpeg">
 <img src="img2.jpeg">
 <img src="img3.jpeg">
</div>
<div class="full addClass">
 <img src="img1.jpeg">
 <img src="img2.jpeg">
 <img src="img3.jpeg">
</div>
  • Вопрос задан
  • 78 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Кому надо добавить класс, какой класс, сколько вложенных элементов должно быть:

const selector = 'селектор элементов';
const className = 'класс';
const minChildrenCount = 666;

Добавляем:

for (const n of document.querySelectorAll(selector)) {
  n.classList.toggle(className, n.children.length >= minChildrenCount);
}

// или (нет, так делать точно не надо - для 0 результат будет некорректным)

document
  .querySelectorAll(`${selector} > :nth-child(${minChildrenCount})`)
  .forEach(n => n.parentNode.classList.add(className));
Ответ написан
Комментировать
document.querySelectorAll('.full').forEach(f => {
  if(f.children.length > 1) {
    f.classList.add('blue')
  }
})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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