46

<tbody>すべてのテーブルに置く必要がありますか?規格による。

4

6 に答える 6

53

theadと を定義した場合のみtfoot。テーブルに複数のコンテンツ本体がある場合に主に使用されます。テーブル内のデータが簡単に理解できる場合は、tbody省略しても問題ありません。

于 2010-06-20T03:15:27.547 に答える
19

まだ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のシェアは、現時点ではほとんどのサイトで無視できる可能性があります。

于 2012-05-16T16:14:14.590 に答える
18

HTML 4仕様の引用:「テーブルにテーブル本体が1つだけ含まれ、テーブルの頭または足のセクションがない場合を除いて、TBODY開始タグは常に必要です。TBODY終了タグは常に安全に省略できます。」

したがって、または<tbody>を持っている場合はタグが必要です<thead> <tfoot>

参照:MDN

于 2010-06-20T03:27:04.597 に答える
-5

ほとんどのブラウザーは寛容ですが、それでも私は現在使用しているすべてのテーブルにペアを追加しています。些細なテーブルでも。特に今は、これらのテーブルを装飾するために CSS をますます使用しています。

そうは言っても、最新のブラウザでも問題なく動作する古いテーブルがあります。私は難しい方法を学んでいますが、オプションのタグをあちこちに追加するために数マイクロ秒余分に費やすことで、長期的にはお金/時間を節約できます.

デイブ

于 2010-06-20T03:24:59.053 に答える