我如何选择所有内容但是带有id的元素?
<div id="test">
<p id="test"></p>
<p></p>
<p></p>
</div>
我希望能够选择第二个和第三个
答案 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])")
来缩小它...它是非常否则很贵。