2010-06-20 5 views

Respuesta

36

Solo si define thead y tfoot. Se usa principalmente cuando la tabla tiene múltiples cuerpos de contenido. Si la información en la tabla se entiende fácilmente como tbody, puede omitirla con seguridad.

+0

y es '' permitido usar dentro 'tbody tr'? –

+1

Semánticamente, si tiene un encabezado en su tabla con '', entonces debe usar '' aunque no es * obligatorio * que lo haga. Si los está utilizando como el encabezado de una columna, no debe ponerlos en 'tbody', pero si son encabezados de una fila, pueden serlo. –

+2

@ Aaron Harun - Acabo de notar que firefox siempre agrega 'tbody' a la tabla incluso si no estamos usando' ',' ', y' ' –

-4

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

Dicho todo esto, tengo tablas antiguas que todavía funcionan bien en los navegadores más nuevos. Estoy aprendiendo por el camino difícil, pero tomar los micro segundos extra para agregar las etiquetas opcionales aquí y allí te permite ahorrar dinero/tiempo a largo plazo.

de Dave

+1

¿Cómo puede agregar etiquetas tbody a una tabla ahorrar dinero/tiempo? – OMA

10

Citando al HTML 4 spec: ". Siempre se requiere la etiqueta de inicio TBODY excepto cuando la tabla contiene un solo cuerpo de la tabla y no hay secciones de la cabeza o el pie de mesa La etiqueta final TBODY siempre se puede omitir de forma segura"

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

Ver también: MDN

15

Para la pequeña fracción de sus usuarios siguen utilizando Internet Explorer 7, debe agregar encapsular sus TR en una etiqueta tbody si estás construyendo una tabla con los métodos DOM.

Esto funciona en todos los navegadores:

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 Internet Explorer 7:

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

un post rápido de la mina en la construcción de tablas:
http://blog.svidgen.com/2012/05/building-tables-in-ie7-with-javascript.html

Puede ser notable que ya no haga el esfuerzo de soportar IE7 en mis propios proyectos. El IE < = 7 compartido es probablemente insignificante para la mayoría de los sitios en este punto.

Cuestiones relacionadas