document.querySelectorAll在“:not”内部的条件不起作用

时间:2019-01-23 10:28:10

标签: javascript html css css-selectors

我尝试用本机方式替换jQuery的.not()函数,不幸的是,我的document.querySelectorAll用例无法正常工作。

这是我要实现的-将jQuery选择器更改为普通JS:

$('#someID').not('.classNameOne > div, .classNameTwo > div, div[class*="-something"] > div')

我尝试使用简单且简单的此选择器:

document.querySelectorAll("#someID:not(.classNameOne > div, .classNameTwo > div, div[class*="-something"] > div)");

这将引发此错误:

Uncaught DOMException: Failed to execute 'querySelectorAll' on 'Document': '#someID:not(.classNameOne > div, .classNameTwo > div, div[class*="-something"] > div)' is not a valid selector.
at <anonymous>:1:10

你们中的一个人知道替代此jQuery函数的更好方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试一下

document.querySelectorAll("#someID:not(.classNameOne) > 
div, .classNameTwo > div, div[class*=-something] > div ");