如果href为空,则隐藏li元素

时间:2011-08-01 13:14:52

标签: c# jquery asp.net

我有:

<ul class="webServicesURLS">
            <li><asp:HyperLink ID="restURL" runat="server" Text="REST" /></li>
            <li><asp:HyperLink ID="bboxURL" runat="server" Text="BBox" /></li>
            <li><asp:HyperLink ID="esbURL" runat="server" Text="ESB" /></li>
</ul>

如果此类链接在数据库中可用,则在代码后面添加href链接。 我想使用jQuery隐藏没有添加任何href链接的<li>,如果我没有任何href链接,则隐藏<ul>

4 个答案:

答案 0 :(得分:2)

尝试:

$("li:not(:contains(a))").hide();

<强>更新 我的错误不应该是:contains而是:has。以下是正确的:

$("li:not(:has(a[href]))").hide()

Example

答案 1 :(得分:2)

您可以将:not():has()分别与has attribute选择器和:visible选择器合并:

$("li:not(:has(a[href]))").hide();
$("ul:not(:has(li:visible))").hide();

答案 2 :(得分:1)

$(document).ready(function(){

if(!(".webServicesURLS li a").attr("href")){
    $(this).parent().hide();
}    

});

答案 3 :(得分:1)

试试这个 -

$("ul.webServicesURLS li:not(:has(a))").hide();
$("ul.webServicesURLS:not(:has(li))").hide();

jsfiddle - http://jsfiddle.net/e49cs/