我的结构如下:
<div class="root-configuration" data-fullkey="abc.def.123">
<label></label>
<div id="sublevel1">
<div id="sublevel2 (or 3 or 4...)">
<div class="one-configuration-key"> <!-- YES -->
...
<div class="one-configuration-key"></div> <!-- NO -->
...
</div>
</div>
</div>
<div class="one-configuration-key"> <!-- YES -->
<somehtmlelements....>
<div class="one-configuration-key"></div> <!-- NO -->
</somehtmlelements....>
</div>
</div>
我需要在“ root-configuration”下选择所有具有“ one-configuration-key”类的元素。事实是,“ root-configuration”和“ one-configuration-key”之间可以有HTML元素,因此.children(".one-configuration-key")
在这里不起作用。
但是当我使用$(".root-configuration").find(".one-configuration-key")
时,我会得到所有元素,因为树中有子子子元素。但是我只想选择树中的第一次出现。
我将DIV元素标记为“是”,我想选择该元素。 不应选择“否” DIV元素。
有人有主意吗?
答案 0 :(得分:1)
您想要得到的是所有.one-configuration-key
都不是另一个.one-configuration-key
的子代。因此您可以选择所有.one-configuration-key
,然后通过不成为另一个.one-configuration-key
的子代来对其进行过滤:
$('.root-configuration .one-configuration-key').not('.one-configuration-key .one-configuration-key')
答案 1 :(得分:0)
尝试一下:
$(".root-configuration").find(".one-configuration-key").first()
或
$(".root-configuration").children(".one-configuration-key")[0];
他们必须工作。