问题:
我试图使用JQuery的.find()
在一个元素中找到所有后代,这些后代位于任何级别内,并具有给定属性,但不包含那些带有相同属性的子孙后代。
为了帮助理解:
JQuery
下面的查询旨在查找元素$("#some_id")
内(在任何级别),具有some_attribute
属性的所有后代,但不包括那些带有相同属性的子孙后代。
$("#some_id").find("[some_attribute]");
HTML
<span id="some_id" some_attribute>
<span some_attribute> <!-- SELECT -->
<span some_attribute> <!-- IGNORE -->
<span some_attribute> <!-- IGNORE -->
</span>
</span>
<span>
</span>
</span>
<span>
<span some_attribute> <!-- SELECT -->
<span>
<span some_attribute> <!-- IGNORE -->
</span>
</span>
<span some_attribute> <!-- IGNORE -->
</span>
</span>
</span>
<span>
<span>
<span>
<span some_attribute> <!-- SELECT -->
</span>
</span>
</span>
</span>
</span>
注意:我需要一个通用的方法......让我更好地解释一下!假设我不知道选择器$("#some_id")
,我只有这个查询的结果。还要考虑到这个结果可能是指可能位于其他带有some_attribute
属性的元素内部的元素。