我想检索所有不属于其他元素的元素。 我试过这个代码示例(对我来说这似乎是一个非常有效的css3选择器):
document.querySelector("span:not(p span)")
它在chrome中不起作用,我该怎么办?
答案 0 :(得分:1)
Support for the selector list argument of :not目前仅限于Safari和Mobile Safari。其他浏览器尚不支持它,而是将选择器视为无效。
基本:not()
支持仅允许简单选择器,它们不支持后代组合器。
您可以采取的替代方法包括:
span
设置规则,然后为p span
元素编写不同的规则。body > span
。细节取决于标记的确切性质。
答案 1 :(得分:1)
可以向所有p span
添加一个类,然后将该类用作not
过滤器
var pSpans = document.querySelector("p span");
for(var i=0; i<pSpans.length; i++){
pSpans[i].classList.add('p-span');
}
var notPspans = document.querySelector("span:not(.p-span)")