我试图学习一些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;中没有任何内容,我该如何正确检查?标签
答案 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)