【发布时间】:2013-11-19 21:13:49
【问题描述】:
我查看了许多其他类似的主题,但我的问题更基本。由于我是 javascript/jQuery 的新手,并且学会了使用 Chrome 作为我的浏览器进行编码,因此我不太需要支持哑浏览器。但是,由于工作限制,我的一些同事被 IE8 卡住了。
话虽如此,我有一个网站使用一个按钮来显示/隐藏 div,该按钮触发多个切换实例,如下所示:
$('#button1').on('click',function() {
$('.body').toggle();
$('.sidebar').toggle();
$('.legend').toggle();
});
$('#button2').on('click',function() {
$('.body').toggle();
$('.sidebar').toggle();
$('.legend').toggle();
});
我的 div 的默认状态由内联样式元素定义,如下所示:
<div class='body' style="display: show">...</div>
<div class='sidebar' style="display: none">...</div>
<div class='legend' style="display: show">...</div>
当我尝试在 chrome 中切换我的 div 时,一切正常。当我在 IE8 中尝试此操作时,单击按钮 #1 会隐藏 .body 和 .legend,但不会切换到显示 .sidebar div。
有什么想法吗?
【问题讨论】:
-
边栏有
display : inline-block;吗? -
display:none样式在每个 div 中是内联的,但是,为了回答您的问题 - 是的,所有 div 都在一个具有 cssdisplay: block样式的包装器中。 -
显示:显示不是一回事。
-
更好的说法是,
show不是显示属性的 有效 值,请参阅参考 MDN 中的CSS display:。 -
哦,好的。我想这是一种不必要的样式,因为默认情况下会显示这些样式。这仍然不能告诉我为什么带有内联
display:none的.sidebardiv 没有显示在 IE8 中启动切换的时间?
标签: jquery html internet-explorer-8 toggle show-hide