7

我想隐藏所有<li>它们是否为空或<li>.

我这样做是这样的:

$("li:empty").filter(function(i,v){return $.trim($(v).text()).length == 0;}).css('display', 'none');

这是错误的语法吗?

如果我创建一个类以使空<li>不可见,它可以正常工作。像这样:

$("li[class='hideLi']").filter(function(i,v){return $.trim($(v).text()).length == 0;}).css('display', 'none');

但我不知道哪个<li>会是空的。

任何人都可以帮助我吗?display=none如果<li>为空,我想做。

这是我的代码:-

<script src="http://code.jquery.com/jquery-latest.js"></script>




<script>
  $(document).ready(function(){
    $("td:empty").css('display', 'none');
     $("div:empty").css('display', 'none');
     $(!$.trim('li:empty')).hide();
     $("li[class='hideLi']").filter(function(i,v){return $.trim($(v).text()).length == 0;}).css('display', 'none');
  });
  </script>

<ul>
  <li style="border:red solid 1px ">HI</li>
  <li style="border:green solid 1px ">  </li>
    <li style="border:blue solid 1px " class="hideLi">  </li>
  </ul>

谢谢,

4

2 回答 2

9

您可以使用.hide()

如果你有空格,要让它工作,你可以使用jQuery.trim()

$("li").each(function() {

    if(!$.trim($(this).html())) {
        $(this).hide();
    }
});

工作示例:小提琴示例

于 2013-03-26T16:47:30.180 回答
5
$('li').filter(function(){
    return $.trim($(this).html()) == '';
}).hide()
于 2013-03-26T16:56:33.633 回答