2010年2月14日

createElementでtableを挿入するときのIEの挙動

Filed under: JavaScript — admin @ 3:48 AM

以下のコードはIE以外では正常に動作する。

var table = document.createElement('table');
var tr = document.createElement('tr');
var td = document.createElement('td');
var img = document.createElement('img');
document.getElementById('container').appendChild(table).appendChild(tr).appendChild(td).appendChild(img);

以下のコードはIEでも動作する。違いはtbodyを明示してあげる事。

var table = document.createElement('table');
var tbody = document.createElement('tbody');
var tr = document.createElement('tr');
var td = document.createElement('td');
var img = document.createElement('img');
document.getElementById('container').appendChild(table).appendChild(tbody).appendChild(tr).appendChild(td).appendChild(img);

html 4.01

11.2.3 行グループ: THEAD、 TFOOT、及びTBODY要素

TBODY開始タグは、表が本体をただ1つだけ含んでいてヘッダもフッタも含まないという場合を除き、常に必要である。

へー

html 5

table 要素

0 個以上の tbody 要素

ふむふむ

参考

http://w3g.jp/xhtml/dic/tbody

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする