2014-02-16 172 views
0

我正在使用一個腳本來模擬milonic菜單並填充空白的HTML與數據。我需要刪除腳本運行後剩下的空標籤。刪除空span標籤,但保留以下li標籤

我用這來刪除有一個空的跨度標記的所有立標籤

$("li span:empty").parent().remove(); // REMOVE UNUSED LI TAGS 

但我只注意到有一些填充在其中一個額外的L1標籤和一些李標籤雖然跨度是空的我需要保留這個li標籤。這裏是HTML

<li class="division00"> <!----- KEEP EMPTY SPAN THAT HAS LI.SINGLE TAG ------> 
    <span></span> 
    <li class="single"> 
     <ul></ul> 
    </li> 


<li class="division01"> <!----- REMOVE ALL LI TAGS THAT HAVE EMPTY SPAN CLASSES ------> 
    <span></span> 
     <ul></ul> 
    </li> 

<li class="division02"> <!----- REMOVE ALL LI TAGS THAT HAVE EMPTY SPAN CLASSES ------> 
    <span></span> 
     <ul></ul> 
    </li> 

<li class="division03"> <!----- DO NOT REMOVE ------> 
    <span>TEXT HERE</span> 
     <ul></ul> 
    </li> 
+4

你的HTML是無效...'li'不能有'li'作爲一個孩子 –

+1

你的JavaScript也是無效的。 'li span:empty'是一個字符串,所以它必須用引號包圍。 –

+0

不擔心emptly li標籤,如果是空span然後刪除整個li – MShack

回答

3

假設你的HTML是有效的嘗試

$('#myul > li').not(':has(li.single)').has('> span:empty').remove() 

演示:Fiddle