Почему браузеры вставляют элемент tbody в элементы таблицы? - PullRequest
54 голосов
/ 02 июня 2009

Я играл с некоторыми идеями, используя raw html и JQuery. Одна вещь, которую я сделал, - это создание элемента таблицы с набором строк.

<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>

Но когда я просмотрел код в FireFox + Firebug, панели инструментов разработчика IE8 или отладчике JavaScript Google Chrome ... все они показали, что существует элемент tbody , окружающий все tr узлов.

Я не против этого ... но разве это стандартное поведение?

Ответы [ 2 ]

53 голосов
/ 02 июня 2009

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

Элемент TBODY определяет группу строк данных в таблице. ТАБЛИЦА должна иметь один или несколько элементов TBODY, которые должны следовать за необязательным TFOOT. Конечный тег TBODY всегда является необязательным. Начальный тег необязателен, если таблица содержит только один TBODY и не содержит THEAD или TFOOT.

Таким образом, там всегда есть tbody (хотя иногда и стартовые, и конечные теги необязательны и опущены), и инструменты, которые вы используете, правильны в его показе.

thead или tfoot, с другой стороны, никогда не будут присутствовать, если вы не включите их явно, и если вы сделаете это, tbody также должны быть явными.

13 голосов
/ 02 июня 2009

Да, tbody - это стандартный элемент, указывающий тело таблицы. Не обязательно помещать его в разметку, но он будет включен в DOM, как вы видели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...