よろずや -別館-

ひがな一日ぼぉっと過ごす中で、思ったことや感じたことを徒然なるままに書き綴ります。
サッカー中心の本館もよろしく。

[js] IE の罠 ( innerHTML )

2007-03-09 15:31:40 | IT技術

IE の JavaScript では、TABLE関係要素の innerHTML は読み取り専用の仕様。

例えば、

var td = document.getElementsByName("td")[0];

td.innerHTML = 置き換えたい文字列;

とやっても、td 要素の持つテキストノードを変更してあげることができません。

DOMのAPIを使って、

var tr = docuemnt.getElementsByName("tr")[0];

var old_td = tr.getElementsByName("td")[0];

var new_td = document.createElement("td");

var text = document.createTextNode( 置き換えたい文字列 );

td.appendChild(text);

tr.replaceChild(new_td, old_td);

のようにしてあげないとダメなんです。もちろん、要素を removeChild して、appendChild してもOKですが、いずれにしても面倒には変わりない。どやさぁ。

 

これは絶対、IE の罠だ。罠だ。


最新の画像もっと見る