Jquery 如果子范围设置为显示,则隐藏父范围:无
我已经读过与隐藏父容器相关的大多数类似JQuery帖子,但似乎没有一个选项适合我 简而言之,我有以下代码Jquery 如果子范围设置为显示,则隐藏父范围:无,jquery,hide,Jquery,Hide,我已经读过与隐藏父容器相关的大多数类似JQuery帖子,但似乎没有一个选项适合我 简而言之,我有以下代码 <div id="pagination" class="pagination"> <span class="previous disabled">« Previous</span> <span class="next disabled">Next »</span> </div> «以前的 下一步» *不是我
<div id="pagination" class="pagination">
<span class="previous disabled">« Previous</span>
<span class="next disabled">Next »</span>
</div>
«以前的
下一步»
*不是我的编码顺便说一句:-p
当前,我的存储上的分页div(上面)为空-发生这种情况是因为在上面的代码中没有触发分页以显示上一个和下一个跨距。您可以看到它们的类名为.disabled,它只是将这些跨度设置为显示:none
我想创建一个Jquery函数,当子span.previous和span.next设置为.disabled时,该函数隐藏父div#pagination
感谢您在advanced中的帮助 这是未经测试的:
$(".pagination:has(.previous.disabled):has(.next.disabled)").hide();
或
如果我不编写“逻辑”代码,我的第一种方法是更改默认值:隐藏父级,仅当任何子级未被禁用时才显示它。使用jQuery很容易:
<div id="pagination" class="pagination" style="display:none"> TEST
<span class="previous disabled">« Previous</span>
<span class="next disabled">Next »</span>
</div>
$(':has(:not(span.disabled))').css('display', 'block');
测试
«以前的
下一步»
$(':has(:not(span.disabled))).css('display','block');
你可以这样做
$('.pagination').each(function(){
var $this = $(this);
if($('span.next', this).hasClass('disabled') && $('span.previous', this).hasClass('disabled')){
$this.hide();
}
});
在这里拉小提琴不能用纯CSS完成。除非父级本身有一些标识符(类或id),否则PeeHaa表示歉意-这是一个与JQuery相关的问题,我错误地标记了它。这与我所拥有的非常接近,除了第二个span标记的&&之外。谢谢你,伙计。。。非常感谢。
$('.pagination').each(function(){
var $this = $(this);
if($('span.next', this).hasClass('disabled') && $('span.previous', this).hasClass('disabled')){
$this.hide();
}
});