我正在尝试向div添加ajax响应(它是带有表格,表单等的HTML代码)。
在FF innerHTML
中效果很好,但在IE中它给我一个未知错误。
我尝试了很多东西,但是当我添加jQuery并在div上运行.html
方法我想要插入代码时,我才开始工作。
任何人都在关心解释为什么这样做而不是简单的innerHTML
?我试着查看.html()
代码,但我想我不是JS的优秀,因为我不明白它在做什么。
答案 0 :(得分:9)
IE 已记录多个(pre | table (thead, tbody, tr, tfoot) | div | select)。 innerHTML错误。
因此像jQuery这样的库通过在IE需要的地方应用变通方法来为你抽象出这些错误。
至于你的具体错误......没有看到代码就很难分辨。
在pre',某些 div上设置.innerHTML
,选择(如果确实失败,将无提示失败)但在某些表元素上设置.innerHTML
(在某些版本中) IE)实际上会抛出一个错误/异常。
注意:设置div的.innerHTML
的问题在条件上非常具体,只发生在IE6& IE7。
答案 1 :(得分:0)
只需使用jQuery并忘记所有可怕的跨浏览器问题 - 你不会回去!
答案 2 :(得分:0)
IE对于从javascript更改<table>s
非常挑剔。如果我没有将表格指定到最后一个细节,包括<tbody>
标签,我之前遇到了麻烦。
答案 3 :(得分:-1)
我每天都有同样的问题。尝试使用.innerText而不是.innerHTML,这将解决您的问题。答案是在IE和FF中解析Javascript不同。