如何检查jquery元素的内容

时间:2014-05-21 12:55:28

标签: javascript jquery html

我试图学习一些jquery。在我的html页面中,我有类似的东西:

<li>
    <ul>
       <p>This ul has text</p>
    </ul>
</li>

<li>
    <ul></ul>
</li>

我试图做一些事情,如果标签&#39; ul&#39;没有任何内容

var $ul = $li.find(' > ul')
if( $ul.text() == null || $ul.text == ""){
    alert("Empty ul");
}else{ 
    alert("Not empty ul");
}

我收到警告&#34;不是空的&#34;每一次,所以if语句永远不会是真的。

如果&#39; ul&#39;中没有任何内容,我该如何正确检查?标签

4 个答案:

答案 0 :(得分:3)

您可以使用:empty

$('ul:empty').each(

如果你想检查ul之间只有空格,那么你可以使用filter和trim来获得ul

$('ul').filter(function(){
   rturn $.trim($(this).text()) == "";
});

答案 1 :(得分:2)

您可以使用:empty选择器

var $ul = $li.find(' > ul')
if( $ul.is(':empty')){
    alert("Empty ul");
}else{ 
    alert("Not empty ul");
}

答案 2 :(得分:1)

在if语句中,$ul.text应该有括号并且为$ul.text()

if( $ul.text() == null || $ul.text() == ""){

如果可能有空格,您可能还想修剪它:

if( $ul.text() == null || $.trim($ul.text()) == ""){

或者将:empty选择器与.is()结合使用:

if($ul.is(':empty')){

答案 3 :(得分:1)

试试这个:

$('ul:empty').each(function(){ 
   //-- Do your stuff
});

Working Example