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

(编辑:jimmy 日期: 2024/10/31 浏览:2)

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。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。