jQuery选择器选择没有子节点的节点

时间:2012-03-25 17:21:43

标签: jquery css-selectors

如何选择所有没有班级.sp_container

的孩子的portlet

这不起作用:div.sp_container[> div.portlet]

<div class='sp_container' style=''>

<div class='portlet' style='background:#ff9900;padding:20px;'>
    <div class='sp_container' >
    </div>
</div>

<div class='portlet' style='background:#ff11aa;padding:20px;'>
    <div class='sp_container' >
    </div>
</div>

<div class='portlet' style='background:#336699;padding:20px;'>
    <div class='sp_container' >
    </div>
</div>

2 个答案:

答案 0 :(得分:2)

根据您的评论,您可以使用filter()。这应该有用。

$('.sp_container').filter(function(){
    return $(this).children('.portlet').length === 0;
});

答案 1 :(得分:0)

这将返回没有任何子节点的所有sp_container元素,这是我认为您正在寻找的。

var myElems = [];

$(".sp_container").each(function() {
    if($(this).children() == undefined) {
        myElems.push(this);
    }
});