Es necesario tener en cada mesa?


Es necesario tener <tbody> en cada mesa? Según las Normas.

Author: Jitendra Vyas, 2010-06-20

4 answers

Solo si define thead y tfoot. Se utiliza principalmente cuando la tabla tiene múltiples cuerpos de contenido. Si los datos de la tabla se entienden fácilmente como tbody, entonces puede omitirlos con seguridad.

 38
Author: Aaron Harun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-20 03:15:27

Para la pequeña fracción de sus usuarios que aún usan IE7, debe agregar encapsular sus tr en una etiqueta tbody si está construyendo una tabla con los métodos DOM!

Esto funcionará en todos los navegadores principales:

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

Esto NO funcionará en IE7:

var table = document.createElement('table');
var tr = document.createElement('tr');
table.appendChild(tr);

Una entrada de blog rápida mía sobre la construcción de mesas:
http://blog.svidgen.com/2012/05/building-tables-in-ie7-with-javascript.html

Puede ser notable que ya no hago el esfuerzo de apoyar IE7 en mis propios proyectos. La cuota IE

 17
Author: svidgen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-06 23:38:28

Citando la especificación HTML 4: "La etiqueta de inicio TBODY siempre es necesaria excepto cuando la tabla contiene solo un cuerpo de tabla y no hay secciones de cabecera o pie de tabla. La etiqueta TBODY end siempre puede omitirse de forma segura."

Por lo tanto, debe tener una etiqueta <tbody> si tiene una <thead> o <tfoot>

Véase también: MDN

 11
Author: Dumb Guy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-26 16:15:35

La mayoría de los navegadores son indulgentes, pero aún así agrego el par en todas las tablas que uso ahora. Incluso trivial tablas. Especialmente ahora que estoy usando CSS cada vez más para decorar esas tablas.

Dicho esto, tengo tablas antiguas que aún funcionan bien en los navegadores más recientes. Estoy aprendiendo de la manera difícil, pero tomar los pocos Micro segundos adicionales para agregar las etiquetas opcionales aquí y allá termina ahorrándole dinero/tiempo a largo plazo.

Dave

 -5
Author: David Frantz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-06-20 03:24:59