var div = document.getElementById("TableDiv");
div. innerHTML 为可写的
而table的innerHTML为只读,IE浏览器会报“未知的运行时错误”。
而火狐等使用的内核不同,对解析html,javascript方式不同,所以不报错误。
这主要是IE在对innerHTML进行写操作的时候会检查infoDIV是否具备做为这些内容中html对象容器的要求,所以当你发现这些错误出现,尝试做两件事情:
- 检查你尝试加到innerHTML的html代码是否包含破损的html标签(某些标签或许缺少关闭标签).
- 把你的容器改成那些比较“包容”的标签,如<span></span>,<div></div>
特别注意的是<tbody>,<table>,<tr>标签里面加正确格式的<td>标签都有可能出错,所以应该避免使用这些标签作为容器。
必要时可以用<td>作为容器,再锲套一层表格
注:
- 元素的innerHTML属性是只读。。
只读元素:COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR- HTML错误的嵌套例如在p里嵌套div那修改div的innerHTML属性也会出现错误
网友评论