javascript - 为什么 .html 有效而不是 innerHTML 或 appendChild

标签 javascript jquery ajax internet-explorer

我正在尝试向 div 添加 ajax 响应(它是带有表格、表单等的 HTML 代码)。

在 FF innerHTML 中完美运行,但在 IE 中它给了我一个未知错误。

我尝试了很多东西,但只有当我添加 jQuery 并在要插入代码的 div 上运行 .html 方法时,我才让它工作。

有人想解释为什么这行得通而不是简单的 innerHTML 吗?我试着查看 .html() 代码,但我想我不擅长 JS,因为我不明白它在做什么。

最佳答案

IE几个记录(pre | table (thead, tbody, tr, tfoot) | div | select ).innerHTML 错误

因此像 jQuery 这样的库通过在 IE 需要的地方应用解决方法,为您消除这些错误。

至于你的具体错误...没有看到代码很难说。

在 pre、某些 div、select 上设置 .innerHTML(如果失败,将静默失败)但设置 .innerHTML在某些表格元素上(在某些版本的 IE 中)实际上会抛出错误/异常。

注意:设置 div 的 .innerHTML 的问题在条件上非常特殊,只发生在 IE6 和 IE7 中。

关于javascript - 为什么 .html 有效而不是 innerHTML 或 appendChild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1848588/

相关文章:

javascript - 选择所有 HTML 复选框

javascript - 如何停止免费的jqgrid禁用工具栏按钮来响应鼠标点击

Jquery - 隐藏一个ID,除非另一个ID可见

javascript - Ajax请求和回调更新同时触发

javascript - 制作页面内容 slider 动画

javascript - 添加第二张幻灯片后幻灯片停止工作

php - 如何处理 AJAX 请求以及 session 和数据库连接?

jquery - 使用 Jquery 查找并替换所有出现的 div 文本

javascript - 添加事件在循环中关闭时无法正常工作

javascript - 我可以在运行时将值从 javascript 发送到 Angular Controller 吗