DOM的innerHTML

287 阅读1分钟
var div = document.getElementById("TableDiv");

div. innerHTML 为可写的

而table的innerHTML为只读,IE浏览器会报“未知的运行时错误”。

而火狐等使用的内核不同,对解析html,javascript方式不同,所以不报错误。

这主要是IE在对innerHTML进行写操作的时候会检查infoDIV是否具备做为这些内容中html对象容器的要求,所以当你发现这些错误出现,尝试做两件事情:

  1. 检查你尝试加到innerHTML的html代码是否包含破损的html标签(某些标签或许缺少关闭标签).
  2. 把你的容器改成那些比较“包容”的标签,如,

特别注意的是,

,标签里面加正确格式的
标签都有可能出错,所以应该避免使用这些标签作为容器。 必要时可以用作为容器,再锲套一层表格

注:

  1. 元素的innerHTML属性是只读。。 只读元素:COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR
  2. HTML错误的嵌套例如在p里嵌套div那修改div的innerHTML属性也会出现错误

转载自: 简书 - 低至一折起

文章:www.jianshu.com/p/26a6054c6…