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。
更多信息請查看IT技術專欄