我有一个DOM树:
<div id="all">
<div id="second">
<div id="target"></div> *
<div id="somediv"></div>
</div>
<div id="second">
<div id="target"></div>
<div id="somediv"></div>
</div>
<div id="second">
<div id="target"></div>
<div id="somediv"></div>
</div>
</div>
如何获得id =“target”的所有div?
$('#second').siblings().andSelf().children(':first')
- 仅显示第一个目标(*),忽略其余目标。
答案 0 :(得分:5)
HTML文档中不能有多个具有相同ID的div。相反,使用class =“target”。然后,您可以使用
获取所有具有类目标的div$("#all .target")
答案 1 :(得分:1)
尝试以下方法:
$('div[id=second]').siblings().andSelf().children(':first')
当提供id选择器时,jQuery将仅返回具有该id的第一个元素。
这是因为具有相同ID的元素是无效HTML 。 HTML解析器通常是灵活的,并且可能在大多数浏览器中都能正常显示,但是不能保证这种情况。考虑更改标记以使用data-
属性或CSS类或类似而不是ID。
答案 2 :(得分:1)
您无法在HTML中重复ID。将id="target"
替换为class="target"
然后 -
$('#all').find('.target');