すべてのテーブルに<tbody>
を含める必要がありますか?規格によると。
thead
とtfoot
を定義する場合のみ。これは主に、テーブルに複数のコンテンツが含まれている場合に使用されます。表のデータがtbody
であることが簡単に理解できる場合は、それを安全に省略できます。
まだIE7を使用しているユーザーのごく一部では、DOMメソッドを使用してテーブルを作成している場合は、trをtbodyタグにカプセル化する必要があります。
これは、すべての主要なブラウザで機能します。
var table = document.createElement('table');
var tbody = document.createElement('tbody');
var tr = document.createElement('tr');
tbody.appendChild(tr);
table.appendChild(tbody);
これはIE7では機能しません:
var table = document.createElement('table');
var tr = document.createElement('tr');
table.appendChild(tr);
テーブルの作成に関する私の簡単なブログ投稿:
http://blog.svidgen.com/2012/05/building-tables-in-ie7-with-javascript.html
自分のプロジェクトでIE7をサポートする努力をしなくなったことは注目に値するかもしれません。 IE <= 7のシェアは、現時点ではほとんどのサイトで無視できる可能性があります。
HTML 4仕様 の引用:「テーブルにテーブル本体が1つだけ含まれ、テーブルの頭または足のセクションがない場合を除いて、TBODY開始タグは常に必要です。TBODY終了タグは常に安全に省略できます。」
したがって、<tbody>
または<thead>
がある場合は、<tfoot>
タグが必要です。
参照: [〜#〜] mdn [〜#〜]