如果所有(ul)都是空的,请获取警报

时间:2011-11-15 08:29:34

标签: javascript jquery

如果.empty中的所有标签ul都为空警报好吗?(使用jQuery)

怎么办?

示例: http://jsfiddle.net/pqgGr/

<div class="empty">
    <ul>1</ul>
    <ul></ul>
    <ul></ul>
</div>
if ($('.empty ul').is(":empty")) {
    alert('ok')
}

4 个答案:

答案 0 :(得分:4)

使用:not()排除空项目,并查看是否返回空集合:

if($('.empty ul:not(:empty)').length == 0) {
   alert('ok');
}

Live demo

答案 1 :(得分:1)

试试这个

var empty = true;

$('.empty ul').each(function(){
    if(!$(this).is(":empty"))
    {
         empty = false;
    }   
});

alert(empty);

现场演示:http://jsfiddle.net/pqgGr/1/

答案 2 :(得分:1)

text方法将返回每个匹配元素的文本内容的串联:

if($(".empty ul").text() === "") {
    alert("Empty!");
}

这是一个working example。但是,请注意,只有在您关心文本时才能使用此功能。如果ul元素中有子元素,并且它们中没有任何文本节点,则ul将被视为空。

答案 3 :(得分:0)

尝试:

if($(".empty").attr('ul').is(':empty')){
    alert('ok')
}

您还可以考虑在检查之前修剪空格

if($.trim($(".empty").attr('ul').is(':empty')))
{
    alert('ok')
}