¿Por qué los navegadores insertan el elemento tbody en los elementos de la tabla?

Resuelto Chris Brandsma asked hace 15 años • 2 respuestas

Estaba jugando con algunas ideas usando HTML sin formato y JQuery. Una cosa que hice fue crear un elemento de tabla con un conjunto de filas.

<table id="MyTable" >
    <tr>
        <td>Title</td>
    </tr>
    <tr>
        <td>1</td>
    </tr>
    <tr>
        <td>2</td>
    </tr>
    <tr>
        <td>3</td>
    </tr>
    <tr>
        <td>4</td>
    </tr>
</table>

Pero cuando vi el código en FireFox+Firebug, la barra de herramientas para desarrolladores de IE8 o el depurador de JavaScript de Google Chrome... todos mostraron que había un elemento tbody que rodeaba todos los tr. .

No estoy en contra de que esto suceda... pero ¿es este un comportamiento estándar?

Chris Brandsma avatar Jun 02 '09 13:06 Chris Brandsma
Aceptado

http://htmlhelp.com/reference/html40/tables/tbody.html :

El elemento TBODY define un grupo de filas de datos en una tabla. Una TABLA debe tener uno o más elementos TBODY, que deben seguir al TFOOT opcional. La etiqueta final TBODY siempre es opcional. La etiqueta de inicio es opcional cuando la tabla contiene solo un TBODY y ningún THEAD o TFOOT.

Por lo tanto, siempre hay un tbody allí (aunque a veces las etiquetas de inicio y fin son opcionales y se omiten), y las herramientas que estás utilizando son correctas para mostrártelo.

thead o tfoot, por otro lado, nunca están presentes a menos que los incluyas explícitamente, y si lo haces, los tbody también deben ser explícitos.

ysth avatar Jun 02 '2009 06:06 ysth

Sí, tbody es el elemento estándar que indica el cuerpo de una tabla. No es necesario incluirlo en el marcado, pero se incluirá en el DOM como has visto.

Matthew Flaschen avatar Jun 02 '2009 06:06 Matthew Flaschen