innerHTML屬性在原生javascript中被用于在一個標簽內(nèi)部加入HTML代碼,但是這個方法也不是在所有情況下適用,就比如在IE下面。
看如下代碼:
代碼如下:
<tbodyid='22'>
</tbody>
我們現(xiàn)在想通過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關(guān)于innerHTML說明的文章中,有這么一句:
“TheinnerHTMLpropertyisread-onlyonthecol,colGroup,frameSet,html,head,style,table,tBody,tFoot,tHead,title,andtrobjects.”說明在IE下,這些的innerHTML屬性是只讀的。
如果想在里面設(shè)置內(nèi)容,只能設(shè)置純文本,用innerText。
更多信息請查看IT技術(shù)專欄