2011-10-25 33 views
1

裏面我有下面的代碼....刪除DIV即使單個UL李空的div

<div id="rem-download-ref" class="download-reference"> 
    <ul> 
     <li><strong>Download »</strong></li> 
     <li><asp:Image ID="imgepub" runat="server" align="absmiddle" ImageUrl="/images/icon/epub.png" Visible="false" width="22" height="22" /><asp:HyperLink ID="HyperLinkePub" runat="server" 
       NavigateUrl='<%# Eval("epub_path").ToString() + Eval("epub_name").ToString() %>' 
       Visible="false">ePUB</asp:HyperLink> 
     </li> 
     <li><asp:Image ID="imgmobi" runat="server" align="absmiddle" ImageUrl="/images/icon/mobi.png" Visible="false" width="22" height="22" /><asp:HyperLink ID="HyperLinkMobi" runat="server" 
       NavigateUrl='<%# Eval("mobi_path").ToString() + Eval("mobi_name").ToString() %>' 
       Visible="false">mobi</asp:HyperLink> 
     </li> 
    </ul> 
</div> 

我需要的是,如果任何的<li>是空的話,我想刪除整個股利。

我該怎麼做,使用JavaScript?

回答

1

您的要求不是很清楚。但是,這是你想要的?

$("#rem-download-ref li").each(function(i, v) { 
    if ($(v).text() == "") { 
     $("#rem-download-ref").remove(); 
     break; 
    } 
}); 

請不要忘記添加jQuery

<script type="text/javascript" src="http://jquery.com/src/jquery-latest.js"></script> 
+0

這將打破第一個空'li'。它不會評估所有'li'標籤,除非它們全部不爲空。 – Jeff

+0

這就是他所要求的! –

+2

Ooops。你是對的!不知何故,我錯過了「任何」:) – Jeff

0

讓你<div>一個<asp:Panel>。然後在容器的數據綁定事件中,如果epub_pathmobi_path爲空或空,則將面板的可見性設置爲false。

如果沒有更多的代碼,很難給出更詳細的答案。數據綁定正在進行什麼樣的控制? GridViewListViewRepeater?數據源是什麼類型的對象?

+0

謝謝你這個作品....但即使我想用jQuery代碼 –

0

看看是否有所幫助,您可能需要將其包裝到一個函數或將其至少在rem-download-ref

確保所有的元素是行內沒有空格

<div id="rem-download-ref" class="download-reference"><ul><li id="o1"><strong id="ccc">Download »</strong></li><li id="o2"></li></ul></div> 

var dc = document.getElementById("rem-download-ref").firstChild 

for (var n = 0; n <dc.childNodes.length; n++) { 
    //if (rem-download-ref not null and li not null remove rem-download-ref 
    if(dc.parentNode && dc.childNodes[n].firstChild==null){ 
    dc.parentNode.removeChild(dc); 
}