1

我是引导程序和 jQuery 的新手,我目前正在使用引导程序导航栏(多个子菜单)。我有一个以 ul 和 li 元素输出导航的 PHP 脚本。有一些 ul 元素中没有 li 元素(一些子菜单没有进一步的子菜单)。因此,没有 li 的 ul,Bootstrap 将其显示为我不想要的空菜单。

无论如何要查找是否有任何 ul 为空,因此将 CSS 更改为 display: none?我尝试了以下但不起作用:

$( "ul" ).each(function() {
    if($(this).html()==""){
        $(this).css('display','none');
    }
});

非常感谢。

4

2 回答 2

9

尝试

$( "ul" ).not(':has(li)').remove()

演示:小提琴

于 2013-07-27T16:03:22.593 回答
3

尝试:empty选择器:

$( "ul:empty" ).hide();

JSFiddle: http: //jsfiddle.net/yGxj2/
但它有一些限制:

:empty(和 :parent)需要注意的一件重要事情是子元素包括文本节点。

这意味着如果您在标签中有空格innerHTML-:empty将不适用于此标签..

于 2013-07-27T16:04:53.553 回答