经过几个小时的调试,在我看来,在 FireFox 中,DOM 的 innerHTML 反映了标记中实际的内容,但在 IE 中,innerHTML 反映了标记中的内容加上用户或动态所做的任何更改(即通过 JavaScript)。

还有其他人发现这是真的吗?有什么有趣的解决方法可以确保两者的行为方式相同吗?

有帮助吗?

解决方案

我同意帕特的观点。在游戏的这个阶段,考虑到可用的 Javascript 框架,编写自己的代码来处理跨浏览器兼容性没有多大意义。有一个几乎适合任何口味的框架(有些确实很小),并且他们专注于真正抽象出浏览器之间的所有差异。他们所做的测试比你可能做的要多得多。

像 jQuery 或 Yahoo 的 YUI(想想一天中有多少人使用 Yahoo Javascript 以及各种浏览器)之类的东西比你或我想出的任何片段都经过更多的实际测试。

其他提示

我使用 jQuery 的 .html() 跨浏览器获得一致的结果。

使用一个好的库是解决浏览器不一致的好方法,而 jquery 是我通常推荐的库 - 如果您在更改表单中的元素时遇到问题,jquery 拥有一些非常有用的插件,专门针对关于表单操作和评估。

使用原型和 $("thisid") 语法而不是 document.getElementById("thisid") 可能会为您带来帮助。这对我有用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top