簡體   English   中英

如何刪除 <ul> 元素,如果他們沒有 <li> 元素

[英]How to remove <ul> elements if they dont have <li> elements

我是Bootstrap和jQuery的新手,目前正在使用Bootstrap導航欄(多個子菜單)。 我有一個PHP腳本,用於輸出ul和li元素中的導航。 有些ul元素中沒有li元素(某些子菜單沒有其他子菜單)。 因此,沒有li的ul,Bootstrap將其顯示為我不想要的空菜單。

無論如何查找ul是否為空,因此將CSS更改為display:none? 我嘗試了以下方法,但不起作用:

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

非常感謝。

嘗試

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

演示: 小提琴

嘗試:empty選擇器:

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

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

:empty(和:parent)要注意的一件事是子元素包括文本節點。

這意味着如果標簽的innerHTML有空格- :empty將不適用於此標簽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM