如果为1或更少,则计算并隐藏链接。 jQuery的

时间:2013-09-26 20:00:14

标签: javascript jquery html

我有一个动态加载链接的div设置。

<div class="module">
    <a href="#" class="sidelink">
    <a href="#" class="sidelink">
</div>

如何设置它,以便在此div中为1或更少的链接时,隐藏所有(在本例中为1)链接。寻找一个简单的jquery解决方案/

3 个答案:

答案 0 :(得分:4)

假设你有很多这样的部分,你可以这样做:

$('.module:not(:has("a:nth-of-type(2)"))').hide();

<强> Fiddle

  • nth-of-type
  • not
  • has

  • .module - 选择所有模块元素

  • a:nth-​​of-type(2) - 选择索引为2的任何锚点,即如果你有更多的那个锚点
  • 看到有一个选择器,它现在合并了2个exprs以选择具有2个或更多锚点的模块,但坚持
  • 包装上述2的非选择器确保它选择不满足上述条件的模块。

为了隐藏模块,请尝试:

$('.module:not(:has(a:gt(0)))').find('a').hide();

Fiddle

或只是

$('.module a').filter(function(){
    return $(this).siblings('a').length == 0;
}).hide();

答案 1 :(得分:3)

toggle()将基于布尔值隐藏/显示,检查是否有多个锚点将被评估为true或false:

$('.module a').toggle($('.module a').length > 1);

并关闭锚点。

答案 2 :(得分:1)

if ($('.sidelink').length === 1) {
    $('.module').hide();
}