В 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()
является наиболее популярным и гибким.