jQuery隐藏后显示元素

时间:2011-11-06 00:14:46

标签: jquery dom

任何人都可以帮助我理解为什么这里的揭示按钮没有做到这一点并且揭示了一切吗?

另外,如果你有一个更好的建议来隐藏/揭示除了一些可以欣赏的元素之外的方法

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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

DEMO