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

It's raining cats and dogs.

無駄なことなんてないはず

IEではtableタグへのinnerHTMLの書き換えができないらしい

ソースはこちら

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

で、上記サイトによると

TABLE と TFOOT と THEAD と TR 要素の innerHTML プロパティは、読み取り専用です。

といっているので、だったらtbody,tdエレメントのinnerHTMLの書き換えができるのか?

と思ったのですが、試した結果、tbodyもtdもinnerHTMLの書き換えはできませんでした。。。

なので、内部でinnerHTMLを使用しているprototypeのAjax.Updaterも当然table周りの変更はできません。


でも、

prototype1.5.0以降(rcは含まず)は、IEで対象タグが'THEAD','TBODY','TR','TD'だったら、ごにょごにょとうまいこと処理してくれるので、Ajax.Updaterで変更できます。

(tableタグは対応していないようですが。。。)


ちなみにいつから上記の対応をしているか気になったので、prototypeのSVNを見てみたら1.5.0以降しか管理されていなかったので、それ以前のバージョンは確認できませんでした。。。

ですので、1.5.0以前のバージョンで、table周りでinnertHTML(Ajax.Updater)を使いたい場合は、1.5.0以降のソースを参考に自前で対応するのが良いです。

(1.5.0のソースでは1538行辺り)