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