为querySelectorAll添加一个例外

时间:2016-02-01 18:16:46

标签: javascript selectors-api

说我有这样的事情:

function one() {
    var findthemall = document.querySelectorAll("*");
    var i;
    for (i = 0; i < findthemall.length; i++) {
        //doin' some cool stuff
    }
}

现在,我知道我可以在querySelectorAll中使用逗号列出多个标记,但有一种简单的方法可以为某些特定的类/标记设置例外吗?

赞:querySelectorAll("*, but not p and br tags")

2 个答案:

答案 0 :(得分:4)

是的,method .querySelectorAll()接受CSS3选择器,这意味着您可以使用:not() pseudo class取消某些元素。

在这种情况下,选择器*:not(p):not(br)会否定brp元素。

document.querySelectorAll("*:not(p):not(br)");

答案 1 :(得分:1)

https://developer.mozilla.org/en-US/docs/Web/CSS/:not

document.querySelectorAll("*:not(p):not(br)")