Javascript:IEでinnerHTMLプロパティが変更できない問題について

2010年2月14日

これは驚愕でした。。。
IEさんはどうせ仕様っていうでしょうけど、IEだけなぜか変更できないinnerHTMLが存在しているんです。
現在確認できているのは
  • <table>タグ
  • <tfoot>タグ
  • <thead>タグ
  • <tr>タグ
  • <script>タグ
などです。<script>タグのinnerHTMLが変更できないのは、セキュリティ的になんか分かる気がしますけど、 なんで<table>, <tr>が変更でけへんのじゃぁ〜!
おかげでずっぽりハマッてもた。。。
実際に、JavascriptからテーブルのinnerHTMLを書き換えようとすると、IEがエラーでJavascriptの処理を 停止してしましますのでご注意を。

Microsoftさん曰く

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

解決方法
これらのテーブルの要素の内容を変更には、 テーブル オブジェクト モデルまたは DOM (Document Object Model) を使用します。

状況

この現象は仕様です。



この現象は仕様ですっ!?

 ↑ファッキン!