В JavaScript существует несколько способов получить элементы, у которых отсутствует определённый класс.
- Метод querySelectorAll(): Воспользуемся методом
querySelectorAll()
для поиска всех элементов, у которых есть определённый класс. Затем можно использовать методfilter()
для фильтрации элементов с отсутствующим классом.
const elements = document.querySelectorAll('.my-class'); const elementsWithoutClass = Array.from(elements).filter(element => !element.classList.contains('specific-class')); console.log(elementsWithoutClass);
- Метод 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);
- Перебор элементов: Можно использовать цикл
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()
является наиболее популярным и гибким.