繁体   English   中英

div没有正确隐藏在IE中

[英]Div not properly hiding in IE

我的网站上没有几个div-在负载方面,我希望其中一些隐藏,其中一些显示。 我隐藏了那些我不想要的东西:

$(".divToHide").hide();

它在Chrome,Firefox,IE8和Opera中都可以很好地工作...在IE6中则不行(我尚未在以前的版本上进行过测试...)-加载页面时,所有div均正确隐藏。 当我单击使其中一个可见的链接时,它会正确显示。 当我单击应该隐藏第一个div并显示另一个div的其他链接时,问题就会显示出来。 第一个div的文本被隐藏,但是图像保持不变并阻碍了新显示的div。 我很确定这是一个错误-当我放大或缩小页面时,原本应该隐藏的div突然消失了-只有在加载页面时它们才可见。

有办法解决吗?

编辑:我正在使用jQuery v1.3.2

编辑:不幸的是,使用addClass添加状态display: none css类的解决方案display: none真正起作用的-看起来像刚开始时那样,但是问题仍然存在。

更新:我写的js文件可以在这里找到,而html 在这里 我的问题是,当您从一个投资组合转到另一个投资组合时,第一个投资组合的图像会停留在该位置,从而妨碍了下一个投资组合,即使它应该被隐藏(下面的文本正确更改)也是如此。 当您尝试放大/缩小页面时,错误会消失。
我曾经使用$("#divId").hide()隐藏所有投资组合,但是正如下面所指出的,我现在使用$(".classToHide").hide()

更新:问题已在IE8上解决-我忘了包括标准模式声明...但是,在IE6上仍然是问题。

您正在使用ID选择器隐藏多个div?

尝试为这些div的类提供“ divToHide”,然后使用:

$(".divToHide").hide();

也许IE8以不同于其他浏览器的其他方式来处理重复ID。

只是想一想:您没有使用旧的(IE8之前的)jQuery版本,对吗?

编辑:不,grycz正在使用当前版本。

编辑:简化为使用toggleClass()

您可以尝试手动进行操作,例如切换名为“隐藏”的css类。 它可能看起来像这样:

function myToggle(element_id)
{
    mydiv = $('#' + element_id);
    mydiv.toggleClass("hidden");;
}

而且您的css文件将具有:

.hidden
{
    display:none;
}

我还没有测试过,但这是一种解决方法,我想您可能想考虑一下,这是否确实是jQuery / IE8中的错误。

您确定hide()函数调用甚至在页面加载时被调用了吗? 尝试在该函数调用之前放置一个alert('hi') ,然后查看是否在IE8中发生。

尝试

$(“#divToHide”)。css('display:none');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM