2011-11-06 189 views
0

任何人都可以帮助我理解为什么这里的揭示按钮不是在做它的工作和揭示一切吗?隐藏后jQuery显示元素

另外,如果你有更好的建议藏身的方法/兜底但会赞赏

我的jsfiddle例子是更容易理解一些元素... http://jsfiddle.net/qp7HB/

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

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

回答

3

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

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

DEMO

+0

对不起,我一直在寻找在错误的块,并认为该演示是一样的有机磷农药。 –

+0

太好了,谢谢! – SparrwHawk

+0

@JaredFarrish:np :) –