innerhtml属性在原生javascript中被用于在一个标签内部加入html代码,但是这个方法也不是在所有情况下适用,就比如在ie下面。
看如下代码:
代码如下:
<tbodyid='22'>
</tbody>
我们现在想通过innerhtml属性给tbody中间加入<tr>等html代码,会这么做:
代码如下:
<spanstyle=font-family:simsun;font-size:14px;>document.getelementbyid('22').innerhtml='<tr></tr>'</span>
这样在chrome下是ok的,但是换到ie下,就会报错,且ie下报的错并不指明是innerhtml出问题了,它只告诉你这一行代码有问题。为什么呢?
查看一下ms的msdn就知道答案了,原文msdn-innerhtml。在ms关于innerhtml说明的文章中,有这么一句:
“theinnerhtmlpropertyisread-onlyonthecol,colgroup,frameset,html,head,style,table,tbody,tfoot,thead,title,andtrobjects.”说明在ie下,这些的innerhtml属性是只读的。
如果想在里面设置内容,只能设置纯文本,用innertext。