当我们在IE7中使用Javascript呈现动态元素时,CSS样式不会被应用。当我们使用Web Developer工具栏查看页面时,动态元素不会出现。页面在Firefox、Chrome和Safari中呈现良好。
IE7不能将CSS样式应用于动态创建的元素吗?IE8正确地呈现了动态元素。
这个问题适用于IE8,因为我们使用meta标签强制IE8以IE7模式呈现。
谢谢!
发布于 2010-09-08 03:13:46
我们发现了问题:我们需要在新元素上使用setAttribute('className','cssClass'),而不是使用setAttribute(‘className’,'cssClass'),其中'cssClass‘是一些用户定义的CSS类。
当FF处理“class”属性时,IE会阻塞,因为“class”在Javascript中是一个特殊的关键字。因此,您必须使用'className‘作为属性名。
感谢大家的回复!
发布于 2010-09-07 04:23:20
我假设IE7 (即IE8加载为7)正在加载CSS样式,并且只使用那些适用于文档结构和加载时间的样式。也许您可以通过在动态加载的内容中包含另一个标记来强制重新加载样式表。
快速问:您使用的是Strict DOCTYPE吗?他们说了一些关于需要在IE7中特别使用here的内容。它就在概述部分的下面。
注意:如果你从一开始就没有使用Strict,它就会丢掉你的布局。但不管怎样,我建议使用Strict,因为从长远来看,它会让您的生活更轻松。只需在切换后整理您的布局,您就是away的A。
https://stackoverflow.com/questions/3653444
复制相似问题