IE 7中的jQuery hide()隐藏了相对定位元素

时间:2010-09-21 16:45:30

标签: jquery html css

我正在尝试使用jQuery的hide()方法在我的页面上显示和隐藏元素,并且它在除IE 7之外的所有浏览器中都能很好地工作。当页面在jQuery(function($){}方法中加载时,这些元素被隐藏,然后可以由用户稍后显示或隐藏。

在Internet Explorer中,并非所有元素都被隐藏。当页面加载时,一些(目前为止只有按钮和div)仍保留样式position:relative,尽管这些元素中的所有文本都是隐藏的。页面加载后,我可以单击显示或隐藏这些元素的按钮,然后它们将正确显示,直到页面重新加载。

我已经读过将高度样式附加到这些元素将修复类似的错误,但我尝试了这个没有任何效果。有人知道我可以做些什么来解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

尝试

$(element-id/class).css("display","none");

$(element-id/class).css("display","inline");

而不是使用.hide()方法。 css属性肯定会毫无疑问地运作。

答案 1 :(得分:0)

您可以通过对这些元素应用'visiblity:hidden'以及隐藏它们来解决此问题。这将解决IE6和IE的问题。 IE7,就像这样:

$('#elementToHide').css("visibility", "hidden");

然后当需要再次显示时,请填写:

$('#elementToHide').css("visibility", "visible");

这与正常使用.hide();

一起使用