如何找到具有该类的元素不具有该类的元素的元素

时间:2013-11-15 11:41:33

标签: javascript jquery dom

这可能听起来很棘手。您将更容易理解数据:

<div>
    <h1>
       <div class='nested ok selected'></div>
    </h1>
    <div class='ok selected'>
        <div class='ko selected'></div>
    </div>
    <div class='ok selected'></div>
</div>

我想选择所有selected类不是selected元素的子元素,无论它的深度如何。结果应与ok元素匹配。我主要是因为nested元素而斗争,否则它会非常简单。

有任何线索吗?

谢谢!

编辑:我无法更改HTML,oknestedko选择器就在这里作为我的问题的澄清。

3 个答案:

答案 0 :(得分:4)

你可以这样做:

$(".selected:not(:parent(.selected))")

演示显示返回的元素数量:http://jsfiddle.net/3YU4B/

答案 1 :(得分:0)

一种方法是获取所有选定的元素,而不是过滤掉另一个选定的元素

$('.selected').filter(function(){
   return $(this).parents('.selected').size() == 0
});

答案 2 :(得分:0)

Fiddle

$(function(){
        $(".selected").each(function(){
           if($(this).parents(".selected").length==0)
           {
               console.log(this);
           }

        });
    });