隐藏父级 IF 子级范围设置为显示:无

发布于 2025-01-07 05:24:06 字数 529 浏览 0 评论 0原文

我已经浏览了大多数与隐藏父容器相关的类似 JQuery 帖子,但似乎没有一个选项对我有用。

简而言之,我有以下代码

<div id="pagination" class="pagination">
  <span class="previous disabled">« Previous</span>
  <span class="next disabled">Next »</span>
</div>

*不是我的编码顺便说一句:-p

目前我商店中的分页 div(上面)是空的 - 发生这种情况是因为分页尚未被触发以显示上述代码中的上一个和下一个跨度。您可以看到它们的类名称为 .disabled,它只是将这些范围设置为 display:none。

我想创建一个 Jquery 函数,当子 span.previous 和 span.next 设置为 .disabled 时,该函数隐藏父 div #pagination。

感谢您的提前帮助!

I have gone through most similar JQuery posts relating to hiding parent containers but none of the options seemed to work for me.

In a nutshell I have the following code

<div id="pagination" class="pagination">
  <span class="previous disabled">« Previous</span>
  <span class="next disabled">Next »</span>
</div>

*Not my coding btw :-p

Currently the pagination div (above) on my store is empty - this happens because the pagination has not been triggered to show the previous and next spans in the above code. You can see that they have a class name of .disabled which just sets those spans to display:none.

I would like to create a Jquery function that hides the parent div #pagination when the child span.previous and span.next are set to .disabled.

Thanks for your help in advanced!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半步萧音过轻尘 2025-01-14 05:24:06

你可以

$('.pagination').each(function(){
   var $this = $(this);
    if($('span.next', this).hasClass('disabled') && $('span.previous', this).hasClass('disabled')){
       $this.hide();
    }
});

在这里小提琴 http://jsfiddle.net/hwrx2/

You could do

$('.pagination').each(function(){
   var $this = $(this);
    if($('span.next', this).hasClass('disabled') && $('span.previous', this).hasClass('disabled')){
       $this.hide();
    }
});

fiddle here http://jsfiddle.net/hwrx2/

年少掌心 2025-01-14 05:24:06

这是未经测试的:

$(".pagination:has(.previous.disabled):has(.next.disabled)").hide();

$(".pagination").has(".previous.disabled").has(".next.disabled").hide();

This is untested:

$(".pagination:has(.previous.disabled):has(.next.disabled)").hide();

or

$(".pagination").has(".previous.disabled").has(".next.disabled").hide();
复古式 2025-01-14 05:24:06

如果我不编写“逻辑”代码,我的第一个方法是更改​​默认值:隐藏父级并仅在没有禁用任何子级时才显示它。使用 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');​

My first approach if I wouldn't write "logic" code would be to change the default: hide the parent and show it only if any of the children are not disabled. With jQuery that's easy:

<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');​
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文