DOMでtableを作成するときの留意点

DOMでtable要素を新規作成するとき,IEはtbodyも作成してappendChildしてやらないと表示されないみたい。Firefox2.0ではtbodyなくてもちゃんと表示された。

var table = document.createElement('table');
var tbody = document.createElement('tbody');
var tr = document.createElement('tr');
var td = document.createElement('td');

td.innerHTML = 'hoge';
tr.appendChild(td);
tbody.appendChild(tr);
table.appendChild(tbody);

"dom appendChild table" で検索すると,関連情報がいくつか出てきた。tbodyがないと,IEでは不完全なノードと見なされてしまうようだ。

「オレがルールだ!」:IE6でtable要素のappendChild:

http://blog.asura.co.jp/takehara/97683399bd444c33922ecafb6e1377c7/entry.aspx