2009-06-01 45 views
0

我遇到了一个问题,我正在做一些表格行的ajax提取,我用它来替换表格的正文。在表格行添加javascript后,IE会丢失CSS样式javascript

问题是,有时IE(6/7)决定在这样的追加后忘记所有页面样式。 (也就是说,它会恢复到CSS使用样式包括在页面的顶部,而不是风格网页本身上定义)

我已经能够找到otherpeopledescribing同样的问题,但没有解决办法。有没有人遇到过这个,并能解决它?

如果解决方案没有涉及将页面上的所有CSS都外化,则可获得额外奖励。

回答

1

好吧,如果你的意思是你的身体有风格标记,那么他们不应该在那里,所以一些浏览器可能对此做出反应并不奇怪。

如果要替换表中的所有行,请尝试替换整个表。表格的结构并不是真正意义上的改变,所以更换整个表格可能会导致页面更不积极的回流。这可能会阻止它删除代码中可疑的样式标签。

验证您要放入页面的代码是否有效。如果您引入无效的HTML代码,则可能会强制浏览器更改呈现模式。这反过来又需要对代码进行完整的重新审视,这可能是为什么它抛弃了内联样式标记的一种可能的解释。

而不是一个表,你可以尝试使用div标签,你安排形成你想要的布局。替换一些div元素可能会导致浏览器的混淆,而不是替换表格或表格的一部分,这可能会使页面更加稳定。

如果所有的失败,我真的没有看到任何其他的解决方案,而不是通过不把样式标签放在正文中使页面更健壮。无论如何,这是你应该考虑的事情。