IE中关于使用innerHTML加入HTML代码的问题

时间:2021-05-08

innerHTML属性在原生javascript中被用于在一个标签内部加入HTML代码,但是这个方法也不是在所有情况下适用,
就比如在IE下面。
看如下代码:

复制代码代码如下:
<tbody id='22'>
</tbody>
我们现在想通过innerHTML属性给tbody中间加入<tr>等HTML代码,会这么做:

复制代码代码如下:
<span style="font-family:SimSun;font-size:14px;">document.getElementById('22').innerHTML = '<tr></tr>'</span>
这样在Chrome下是OK的,但是换到IE下,就会报错,且IE下报的错并不指明是innerHTML出问题了,它只告诉你这一行代码有问题。为什么呢?
查看一下MS的MSDN就知道答案了,原文MSDN-innerHTML 。在MS关于innerHTML说明的文章中,有这么一句:
“The innerHTML property is read-only on the col, colGroup, frameSet, html, head, style, table, tBody, tFoot, tHead, title, and tr objects.” 说明在IE下,这些
的innerHTML属性是只读的。
如果想在里面设置内容,只能设置纯文本,用innerText。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章