暗黙のtbody

tableにtr,tdをjavascriptで追加するコードを書いたのだが、FirefoxではうまくいくのにIEではうまくいかない。下のような感じ

<table id="t">
</table>
 var tr = document.createElement('tr');
 // (中略) trにtdを足していく
 $('t').append(tr);

[Others] IEで使えるDOMインスペクタっぽいツールからDHTML Diverをつかってみてみると、tableの中にtbodyがあり、そのつぎにtrが加えられている。

そういえば、昔、tbody必須なのかぁ。と思った覚えがある。

ということでHTMLのほうを

<table>
<tbody id="t">
</tbody>
</table>

ということでtbodyにappendChildすれば大丈夫だった。調べるとおなじ様な症状にであったひとはいるものだ。

そしてinnerHTMLでは更新できないらしいこともわかった。

これはできないんだよなー(諦)。じゃ、なくてなんでできないんだよー(怒)だよな。