Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如果子范围设置为显示,则隐藏父范围:无_Jquery_Hide - Fatal编程技术网

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> «以前的 下一步» *不是我

我已经读过与隐藏父容器相关的大多数类似JQuery帖子,但似乎没有一个选项适合我

简而言之,我有以下代码

<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();
    }
});