IE中關于使用innerHTML加入HTML代碼的問題

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 。

相關經驗推薦