jQuery:隐藏容器,然后显示该容器中的元素

jQuery:隐藏容器,然后显示该容器中的元素,jquery,Jquery,我想用classpage\u wrapper隐藏一个容器元素。然后我只想在容器中显示一个id为infinite\u math\u container的元素 我的代码 $('.page_wrapper').hide(); $('#infinite_math_container').show().delay(200); 问题:$('.page_wrapper').hide()工作正常,但是$('infinite#u math_container').show().delay(200)实际上没有显示

我想用class
page\u wrapper
隐藏一个容器元素。然后我只想在容器中显示一个id为
infinite\u math\u container
的元素

我的代码

$('.page_wrapper').hide();
$('#infinite_math_container').show().delay(200);
问题:
$('.page_wrapper').hide()
工作正常,但是
$('infinite#u math_container').show().delay(200)实际上没有显示

想法?

尝试使用允许回调的:

$('.page_wrapper').fadeOut(0, function() {
    $('#infinite_math_container').show();
});
您可以在文档中使用hide()作为回调函数,但这只是一个首选项

$('.page_wrapper').hide(0, function() {
    $('#infinite_math_container').show();
});
另一种方法是使用函数:

$('.page_wrapper').hide();
setTimeout(function(){
    $('#infinite_math_container').show();
}, 2000);

就像“ŁukaszTrzewik”说的那样。如果某个元素的父元素是隐藏的,则对其调用
show()
不会产生任何效果

要解决此问题,您可以执行以下操作:

$(".page_wrapper").children().not("#infinite_math_container"‌​).hide();
这将隐藏
.page_wrapper
的所有子元素,但
\infinite_math_container
除外

或:

它将隐藏
.page_wrapper
的所有子元素,并在延迟
200
毫秒后显示子
\infinite_math_container


只有当
#infinite_math_container
元素是
.page\u wrapper

的直接后代时,这两个示例才有效,因为它没有显示您在它的包装上调用hide的原因,这意味着在它的内部显示/隐藏什么并不重要,因为顶部包装是隐藏的。这里有一个类似的问题:正如@ukaszTrzewik所说,主包装是隐藏的。因此,无法显示孩子。你有什么理由想隐藏
页面包装器
?@OumarDiarra:这里的目标是将
无限的数学容器
显示为页面上唯一的东西。正如@ukaszTrzewik所说,你正在隐藏容器。试图显示容器的子容器将无法工作,因为容器仍处于隐藏状态。而且,
delay()
会延迟接下来发生的事情。你应该把它放在
.show()
前面,我建议你在
page\u wrapper
中除了
infinite\u math\u container
之外的其他元素上添加一个div容器,然后你可以隐藏这些元素,只显示
infinite\u math\u container
谢谢你的尝试,但是没有一个真正展示了我想要展示的元素。所有这些都隐藏了较大的容器。根据上面的评论,我们完全同意如果#infinite_math_容器是.page_包装类的子容器,它将不会按原样显示。
$(".page_wrapper").children().hide().find("#infinite_math_container"‌​).delay(200).show();