jQuery 显示隐藏后的元素

发布于 12-13 21:54 字数 413 浏览 0 评论 0原文

谁能帮助我理解为什么这里的显示按钮没有完成它的工作并显示所有内容?

另外,如果您对隐藏/显示除少数元素之外的所有元素有更好的建议,

我的 JSFiddle 示例更容易理解...... http://jsfiddle.net/qp7HB/

$('#hide').click(function(){
    $('body > :not(#reveal)').not(this).hide();
    $("#test1").add(this).appendTo("body");    
});

$('#reveal').click(function(){
    $('body').show();
});

Can anyone help me to understand why the reveal button here is not doing it's job and revealing everything?

Also, if you have a better suggestion for a method to hide / reveal all but a few elements that would appreciated

My JSFiddle example is much easier to understand... http://jsfiddle.net/qp7HB/

$('#hide').click(function(){
    $('body > :not(#reveal)').not(this).hide();
    $("#test1").add(this).appendTo("body");    
});

$('#reveal').click(function(){
    $('body').show();
});

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

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

发布评论

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

评论(1

死开点丶别碍眼2024-12-20 21:54:24

因为 body 从未被隐藏,只有它的子项被隐藏。如果元素已被显式隐藏,则显示元素的父元素不会自动显示该元素本身。你可以这样做:

$('#reveal').click(function(){
    $('body').children().show();
    // or  $('body > *').show();
});

DEMO

Because body was never hidden, only its children. Showing the parent of an element does not automatically show the element itself if it has been hidden explicitly. You can do:

$('#reveal').click(function(){
    $('body').children().show();
    // or  $('body > *').show();
});

DEMO

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