Web_Mukhammad
@Web_Mukhammad
frontend-разработчик

Как добавить класс в зависимости от количества блоков?

Как добавлять класс родителю через JavaScript, в зависимости от того, сколько у него дочерних элементов?

В данном случае родитель - это блок .row
Если у родителя 3 дочерних элементов, то добавляем класс .row_3
А если 5 дочерних элементов, то соответственно класс .row_5

Код:
  • Вопрос задан
  • 336 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
document.querySelectorAll('.row').forEach(n => n.classList.add(`row-${n.children.length}`))

Это если добавляемый класс всегда содержит количество дочерних элементов, как вы показали. Если же добавлять класс надо не всегда и имя может быть произвольным, тогда можно сделать объект, где ключами будут количества дочерних элементов, а значениями - соответствующие классы:

const classes = {
  3: 'row-3',
  5: 'row-5',
  7: 'row-xxx',
};

document.querySelectorAll('.row').forEach(n => {
  const className = classes[n.children.length];
  if (className) {
    n.classList.add(className);
  }
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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