Как исключить определенные имена классов в querySelectorAll()?

Как я могу исключить элементы тега, которые имеют определенное имя класса?

<span class="test" />
<span class="test asd" />

document.querySelectorAll('span.test'); //how to exclude all spans with "asd" as class name?

Ответы

Ответ 1

Используйте :not CSS-псевдокласс:

document.querySelectorAll('span.test:not(.asd)');

Ответ 2

Используйте псевдо-селектор отрицания CSS, :not():

document.querySelectorAll('span.test:not(.asd)');

Псевдокласмент отрицания :not(X) является функциональным обозначением, принимающим простой селектор (за исключением самого псевдокласса отрицания) в качестве аргумента. Он представляет элемент, который не представлен его аргументом.