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

显示和隐藏不同元素的jquery切换。。。令人困惑,jquery,hide,toggle,show,Jquery,Hide,Toggle,Show,我在一个元素上设置了一个切换,我想显示隐藏4个元素(3个ID,1个类) 这是我的jquery $('#tap-menu').click(function() { $('#left-column, #settings, #ortibi, .userprofile').toggle(); }); 这4个元素在页面加载时隐藏,在第一次切换时显示所有元素。如果我再次切换到隐藏,那很好。但如果我切换到再次显示它们。.userprofile不显示。这是因为它是CSS中的类而不是id吗 为什么会这

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

这是我的jquery

$('#tap-menu').click(function() {
    $('#left-column, #settings, #ortibi, .userprofile').toggle();
}); 
这4个元素在页面加载时隐藏,在第一次切换时显示所有元素。如果我再次切换到隐藏,那很好。但如果我切换到再次显示它们。.userprofile不显示。这是因为它是CSS中的类而不是id吗

为什么会这样呢


提前感谢…

而不是使用
显示:无
在.userprofile css上,使用jquery隐藏元素,如下所示:

$(function(){
    $('#left-column, #settings, #ortibi, .userprofile').hide();
});
有关更多信息,请参见此:

具体而言:

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


相反,如果初始值为
display:none将其重新打开将为其提供相同的
显示值:无

CSS用于.userprofile什么?此元素是否有任何内联样式?初始-显示:无;然后它还有(当可见时)-高度:56px;左边距:12px;边缘底部:10px;位置:绝对位置;顶部:0px;}无内联样式:/n您应提供“左:0”。其余的看起来不错。我想这附近有一些相互矛盾的风格。。我想看看您在firebug中的代码,以了解发生了什么;)这种方法的问题是,在页面加载之前,这4个元素都是可见的隐藏它,然后在使用jQuery隐藏它之后调整高度。有更好的方法吗?我通常不会弄乱
display:none因为让jQuery处理它更容易。我通常在css文件中有一个类
.hide{display:none;}
,用于初始化隐藏对象。然后我在js页面中使用
.hide()
.show()
。在使用jQuery正确隐藏CSS类之后,是否使用jQuery删除该类?否,因为jQuery的
.hide()
向元素添加了一个内联
显示:none
,以便覆盖
隐藏
类CSS。