JQuery-查找任何级别的所有子孙,但不查找那些子孙的子孙

问题描述 投票:4回答:1

问题:

我正在尝试使用JQuery的.find()在元素[[任何级别中查找具有给定属性的所有后代,但不查找具有相同属性的那些后代的后代。

帮助理解:

JQuery

下面查询的预期目标是找到元素$("#some_id")中的所有后代(任意级别),但不具有相同属性的后代的后代。]

some_attribute

HTML

$("#some_id").find("[some_attribute]");

注意:我需要通用的方法...我的解释更好!假设我不知道选择器<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")属性的元素中。

问题:我正在尝试使用JQuery的.find()在具有给定属性的任何级别的元素中查找所有后代,但不查找具有相同属性的那些后代。 ...

javascript jquery html dom
1个回答
3
投票
您可以使用some_attribute来确保所选元素与特定的选择器不匹配-在这里为:not(因为与该选择器匹配的元素将是#some_id [some_attribute] [some_attribute]嵌套在另一个some_attribute中,而不是[ C0]):
© www.soinside.com 2019 - 2024. All rights reserved.