jquery切换显示和隐藏不同的元素......令人困惑

时间:2012-02-01 20:49:13

标签: jquery hide toggle show

我在一个元素上设置了一个切换设置,我想隐藏4个元素(3个ID,1个类)。

这是我的jquery

$('#tap-menu').click(function() {
    $('#left-column, #settings, #ortibi, .userprofile').toggle();
}); 

这4个元素隐藏在页面加载和第一个切换上,显示所有这些元素。如果我再次切换隐藏,那很好。但如果我切换再次显示它们。 .userprofile没有显示。这是因为它是一个类而不是CSS中的id吗?

为什么会这样呢?

提前致谢...

1 个答案:

答案 0 :(得分:1)

不要在.userprofile css上使用display: none;,而是使用jquery隐藏元素,如下所示:

$(function(){
    $('#left-column, #settings, #ortibi, .userprofile').hide();
});

有关详情,请参阅此处:http://api.jquery.com/hide/

具体做法是:

  

匹配的元素将立即隐藏,无动画。   这大致相当于调用.css(' display',' none'),除了   display属性的值保存在jQuery的数据中   缓存,以便稍后可以将显示恢复为其初始值。如果   元素的显示值为内联,然后隐藏并显示   将再次以内联方式显示。

相反,如果它最初的值display: none;切换回来,则会为其赋予相同的display: none;值。