Как получить элементы, у которых отсутствует определённый класс?

В JavaScript существует несколько способов получить элементы, у которых отсутствует определённый класс.

1. Метод querySelectorAll(): Воспользуемся методом querySelectorAll() для поиска всех элементов, у которых есть определённый класс. Затем можно использовать метод filter() для фильтрации элементов с отсутствующим классом.

const elements = document.querySelectorAll('.my-class');

const elementsWithoutClass = Array.from(elements).filter(element => !element.classList.contains('specific-class'));

console.log(elementsWithoutClass);

2. Метод getElementsByClassName(): Можно использовать метод getElementsByClassName() для поиска всех элементов с определённым классом, а затем использовать метод Array.from() и метод filter() для фильтрации элементов с отсутствующим классом.

const elements = document.getElementsByClassName('my-class');

const elementsWithoutClass = Array.from(elements).filter(element => !element.classList.contains('specific-class'));

console.log(elementsWithoutClass);

3. Перебор элементов: Можно использовать цикл for или методы перебора, такие как forEach(), для перебора всех элементов и проверки наличия класса. Затем можно сохранить элементы без класса в массив.

const elements = document.querySelectorAll('.my-class');

const elementsWithoutClass = [];

elements.forEach((element) => {
  if (!element.classList.contains('specific-class')) {
    elementsWithoutClass.push(element);
  }
});

console.log(elementsWithoutClass);

Выбор конкретного метода зависит от вашего контекста и предпочтений. Хотя первый метод с использованием querySelectorAll() является наиболее популярным и гибким.