Javascript 如果1或更少,则计数并隐藏链接。滑动分页
我有一个动态加载链接的div设置Javascript 如果1或更少,则计数并隐藏链接。滑动分页,javascript,jquery,html,Javascript,Jquery,Html,我有一个动态加载链接的div设置 <div class="module"> <a href="#" class="sidelink"> <a href="#" class="sidelink"> </div> 如何设置此选项,以便在该div中,如果他们的链接小于等于1,则隐藏所有(在本例中为1)链接。寻找一个简单的jquery解决方案/假设您有许多这样的部分,您可以做: if ($('.sidelink').length ==
<div class="module">
<a href="#" class="sidelink">
<a href="#" class="sidelink">
</div>
如何设置此选项,以便在该div中,如果他们的链接小于等于1,则隐藏所有(在本例中为1)链接。寻找一个简单的jquery解决方案/假设您有许多这样的部分,您可以做:
if ($('.sidelink').length === 1) {
$('.module').hide();
}
$('.module:not(:has("a:nth-of-type(2)"))').hide();
- .模块-选择所有模块元素
- 类型(2)的第n个-选择索引为2的任何锚点,即如果您有多个锚点
- 请参阅has选择器,它现在组合在2个EXPR以上,以选择具有锚定2个或更多的模块,但请按住
- 包装上述2项的not选择器确保它选择不满足上述条件的模块
$('.module:not(:has(a:gt(0)))').find('a').hide();
或者只是
$('.module a').filter(function(){
return $(this).siblings('a').length == 0;
}).hide();
toggle()
将基于布尔值隐藏/显示,检查是否有多个锚点将评估为true或false:
$('.module a').toggle($('.module a').length > 1);
然后关闭锚。很好。由于OP提到隐藏链接,而不是整个div,因此可以执行
$('.module:not(:has(“类型(2)的第n个)a').hide()代码>@andi我错过了那部分。。谢谢:)准确地说,如果它只是一个链接隐藏链接对吗?少并没有任何区别,因为不会有任何隐藏的东西。@PSL-这工作非常好,OP说“我有一个div”,只要没有更多div,它就工作得很好。@adeneo哦,好吧,在这种情况下,我的答案可能是杀得过火了。。。所以收回我的评论…@PSL-Nope,你的答案很好,对于所有非本机伪选择器来说可能有点慢,但是没有人会注意到这一点。另外,我的答案需要一个each()循环来完成同样的操作,但是它也可以与多个.module一起工作。我们都很好!