Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox与IE:innerHTML处理_Javascript_Internet Explorer_Firefox_Dom - Fatal编程技术网

Javascript Firefox与IE:innerHTML处理

Javascript Firefox与IE:innerHTML处理,javascript,internet-explorer,firefox,dom,Javascript,Internet Explorer,Firefox,Dom,经过数小时的调试,我觉得在FireFox中,DOM的innerHTML反映了标记中的实际内容,但在IE中,innerHTML反映了标记中的内容以及用户或动态(即通过Javascript)所做的任何更改 还有人发现这是真的吗?有没有什么有趣的解决办法来确保两者的行为方式相同?我使用jQuery在不同浏览器中获得一致的结果。我同意Pat的观点。在游戏的这一点上,考虑到可用的Javascript框架,编写自己的代码来处理跨浏览器兼容性没有多大意义。几乎任何口味(有些非常小)都有一个框架,他们专注于真正

经过数小时的调试,我觉得在FireFox中,DOM的innerHTML反映了标记中的实际内容,但在IE中,innerHTML反映了标记中的内容以及用户或动态(即通过Javascript)所做的任何更改


还有人发现这是真的吗?有没有什么有趣的解决办法来确保两者的行为方式相同?

我使用jQuery在不同浏览器中获得一致的结果。

我同意Pat的观点。在游戏的这一点上,考虑到可用的Javascript框架,编写自己的代码来处理跨浏览器兼容性没有多大意义。几乎任何口味(有些非常小)都有一个框架,他们专注于真正抽象出浏览器之间的所有差异。他们正在做比你可能做的更多的测试


像jQuery或Yahoo的YUI(想想一天中有多少人使用Yahoo Javascript和各种浏览器)这样的东西比你或我想到的任何代码片段都要经受更多的考验。

使用prototype和$(“thisid”)语法而不是document.getElementById(“thisid”)可能会帮你解决这个问题。这对我来说很有用。

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

问题在于jquery.html()不能产生一致的结果。引用jQuery文档的相关部分:“此方法使用浏览器的innerHTML属性。某些浏览器可能不会返回与原始文档中的HTML源完全相同的HTML。例如,如果属性值仅包含字母数字字符,Internet Explorer有时会在属性值周围省略引号。”