在表行附加javascript后,IE丢失了css样式

时间:2009-06-01 21:23:37

标签: css ajax internet-explorer

我有一个问题,我正在做一些表行的ajax获取,我用它来替换表的主体。

问题是有时IE(6/7)决定在这样的附加后忘记所有页面样式。 (也就是说,它恢复使用css中的样式包含在页面顶部,但不是在页面本身定义的样式)

我能够找到other people describing同样的问题,但没有解决方法。有没有人遇到过这个问题,并且能够解决它?

如果解决方案不涉及在页面上外部化所有css,则获得奖励积分。

1 个答案:

答案 0 :(得分:1)

好吧,如果你的意思是你的身体里有样式标签,那么它们就不应该存在,所以一些浏览器可能会对此做出反应并不奇怪。

如果要替换表中的所有行,请尝试替换整个表。表的结构实际上并没有真正改变,因此替换整个表可能会导致页面的回流不那么激进。这可能使它无法删除代码中可疑的样式标记。

验证您在页面中放置的代码是否有效。如果引入无效的HTML代码,可能会强制浏览器更改呈现模式。反过来,这需要对代码进行全面的重新审查,这可能是解释为什么它会丢弃内联样式标记的原因。

您可以尝试使用您安排构建所需布局的div标签,而不是表格。替换一些div元素可能会比替换表或表的一部分更少混淆浏览器,这可能使页面更稳定。

如果一切都失败了,我没有看到任何其他解决方案,而不是通过不在主体中放置样式标签来使页面更加健壮。无论如何,这是你应该考虑的事情。