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

jQuery选择器选择没有子节点的节点,jquery,css-selectors,Jquery,Css Selectors,如何使用类portlet 这不起作用:div.sp\u容器[>div.portlet] <div class='sp_container' style=''> <div class='portlet' style='background:#ff9900;padding:20px;'> <div class='sp_container' > </div> </div> <div class='portlet' s

如何使用类
portlet

这不起作用:
div.sp\u容器[>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>


这将返回没有任何子元素的所有
sp_容器
元素,我认为您正在寻找这些元素

var myElems = [];

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

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

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

如果你想得到答案,请说得更具体一点。你能说得更清楚一点吗?您想选择所有没有父级的
spu容器
?是它>我想得到所有元素的类名sp\u容器没有包含一个类名为portlet的元素。仍然没有得到它。。。对不起,我的英语非常糟糕。我想获取所有不包含元素的元素.sp_容器。portlet作为子元素
我需要id为3,5,7的元素,但不需要id为1的元素。ID1包含第一级+1中的child.portlet,这对我很有帮助。我刚刚用
find
替换了
children
,因为我正在寻找嵌套得更深的子对象:)