试图让空<li>标签隐藏在页面加载</li>上

时间:2012-11-05 18:58:48

标签: jquery hide element show

我目前的代码是:

<ul>
<li class="nav">
<-- uc tag with hyperlink that show/hides based on a code behind & user rights. --><br />
</li>
</ul>

<script type="text/javascript" >
    $('li.nav:empty').hide();       
</script>

线元素会根据用户权限自动填充到应用程序中。导航中有多种此类链接实例。

此解决方案适用于我正在处理的其他应用程序,但由于某些原因,我的当前应用程序无法正常工作。

上面的代码只是一个示例 - 不是直接复制和粘贴。 BR标签不存在于实际应用中,也不是填充文本。

3 个答案:

答案 0 :(得分:1)

首先你需要从里面删除
..

将您的脚本包含在 DOM ready Handler

<script type="text/javascript">
   $(function () {
      $('li.nav:empty').hide();
    });       
</script>

答案 1 :(得分:1)

如果要隐藏没有文字的li元素,可以使用:

$('li.nav').filter(function(){return $(this).text().trim().length==0}).hide();

Demonstration

答案 2 :(得分:0)

  

:empty描述:选择所有没有子元素的元素(包括文本节点)。

我认为你的$('li.nav:empty')不是空的,因为有一些文本节点。

你应该写一个过滤器。

$('li.nav').filter(function () { return $.trim($(this).text()); }).hide();