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 。
