読者です 読者をやめる 読者になる 読者になる

IEでテーブルのinnerHTMLを変更できない

IEでテーブルの中身を初期化したいとき、以下のようなコードでは動かない。

var tbl = document.getElementById('targetTable');
tbl.innerHTML = '';

FireFoxChrome では動く。IEで動かないのは、テーブルのinnerHTMLが読取専用プロパティだから。

テーブル、TFOOT、THEAD、および TR 要素の innerHTML プロパティは読み取り専用です。

http://support.microsoft.com/kb/239832/ja


というわけでIEでも動くテーブルの初期化を行うコードは以下の通り。

var elm;
while (elm = tbl.firstChild)
    table.removeChild(elm);