2009-10-27 79 views
2

如何选择所有具有父类节点没有类“myClass”的类“myClass”的节点。jQuery选择父项不属于给定类的项目

例如,我有以下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 

(可以有更多descedant节点)

回答

7

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

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

或者,如果你想超越的直接父:

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

这也可能工作:

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

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

$(".myContainer > .myClass") 
+0

谢谢。第一种解决方案比较好,因为我不确定总是有一个类为“myContainer”的父节点 – kipelovets 2009-10-27 13:49:44