【jQuery】 tableにtrをappendすると、自動的にtbodyが追加される


$hoge = $('<table></table>');
$hoge.append('<tr></tr>');

と設定して、


$table.children('tr')

でtrにアクセスできないのはなぜだろうと思っていたら、
自動的にtbodyが追加されてたんですね。


<table>
<tbody>
<tr></tr>
</tbody>
</table>

こうなっていた、と。
道理で、範囲が直下の子要素までの『children()』では
アクセスできなかったわけです。


自動的にtbodyが追加されるのは、IEへの対策だそうです。

『IE6ではテーブル要素の動的生成時にtbodyを生成しないとだめみたい』
http://docolog.cocolog-nifty.com/papalog/2007/11/ie6tbody_f14c.html


そもそも、tableの直下にtrを入れずに、thead,tbodyを置くのが正式な
HTMLの書き方のようですね。これからは気をつけます…。