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

字號:


    innerHTML屬性在原生javascript中被用于在一個標簽內部加入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關于innerHTML說明的文章中,有這么一句:
    “TheinnerHTMLpropertyisread-onlyonthecol,colGroup,frameSet,html,head,style,table,tBody,tFoot,tHead,title,andtrobjects.”說明在IE下,這些的innerHTML屬性是只讀的。
    如果想在里面設置內容,只能設置純文本,用innerText。