@denism300

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

К примеру, есть такая конструкция:
<div id="some-id">
    <label for="test1">
    <input id="test1" />
    <label for="test2">
    <textarea id="test2" />
    <label for="test3">
    <select id="test3" />
</div>

как в данном случае добавить класс some-class (если его нет) всем внутри some-id кроме label?
  • Вопрос задан
  • 728 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const parentSelector = 'селектор родительского элемента';
const noClassSelector = 'селектор элементов, которым не надо добавлять класс';
const className = 'класс';

$(parentSelector)
  .children()
  .removeClass(className)
  .not(noClassSelector)
  .addClass(className);

// или

for (const n of document.querySelector(parentSelector).children) {
  n.classList.toggle(className, !n.matches(noClassSelector));
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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