jQuery选择父项不属于给定类的项目

时间:2009-10-27 13:37:07

标签: javascript jquery

如何选择具有类“myClass”的所有节点,其父节点没有类“myClass”。

例如,我有以下HTML:

<div class="myContainer">
    <div class="myClass" id="d1"> 
        <div class="myClass" id="d2"></div>
        <div class="myClass" id="d4"></div>
    </div>
    <div class="myClass" id="d3"></div>
</div>

我希望得到一个包含id“d1”和“d3”

的元素列表

实际上,我正在尝试编写一个代码,将该示例中的HTML转换为带有表格的列表,例如:

d1
  d2
  d4
d3

(可能有更多的假设节点)

1 个答案:

答案 0 :(得分:7)

我想出了一些可能的解决方案。也许:

$(":not(.myClass) > .myClass")

或者,如果您想超越直接父母:

$(":not(.myClass) .myClass")

这也可能有效:

$(".myClass:has(:not(.myClass))")

为您的确切示例提供更好的解决方案:

$(".myContainer > .myClass")