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

kip*_*ets 2 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>
Run Code Online (Sandbox Code Playgroud)

我想得到一个带有ids"d1"和"d3"的元素列表

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

d1
  d2
  d4
d3
Run Code Online (Sandbox Code Playgroud)

(可能有更多的消遣节点)

kab*_*aba 7

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

$(":not(.myClass) > .myClass")
Run Code Online (Sandbox Code Playgroud)

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

$(":not(.myClass) .myClass")
Run Code Online (Sandbox Code Playgroud)

这可能也有效:

$(".myClass:has(:not(.myClass))")
Run Code Online (Sandbox Code Playgroud)

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

$(".myContainer > .myClass")
Run Code Online (Sandbox Code Playgroud)