jQuery选择器NOT

时间:2010-07-22 14:48:01

标签: javascript jquery jquery-selectors

我如何选择所有内容但是带有id的元素?

<div id="test">
<p id="test"></p>
<p></p>
<p></p>
</div>

我希望能够选择第二个和第三个

2 个答案:

答案 0 :(得分:7)

您不能拥有ID为“test”的2个元素,但如果代码如下:

<div id="test">
<p id="test2"></p>
<p></p>
<p></p>
</div>

然后你可以使用

$("#test p").not("#test2")

$("#test p:not(#test2)")

只选择其他两段。

有关not()方法(第一个选项)的文档,请参阅http://api.jquery.com/not/;对于:not()选择器(第二个选项),请参阅http://api.jquery.com/not-selector/

注意:这不会选择“所有内容”,而是选择第二和第三段元素。我认为那就是你的意思:)。

答案 1 :(得分:1)

您可以合并:not()has-attribute选择器,如下所示:

$(":not([id])")

虽然有一些注意事项,但您目前有2个具有相同ID的元素,这是无效的,因为ID应该是唯一的。此外,你不应该像我上面那样使用选择器 ,它应该在某些东西中,例如$("#test :not([id])")来缩小它...它是非常否则很贵。