Почему браузеры вставляют элемент tbody в элементы таблицы?
Я играл с некоторыми идеями, используя 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 Developer Toolbar или JavaScript-отладчик Google Chrome... все они показали, что это элемент tbody, окружающий все tr.
Я не против этого, но это стандартное поведение?
Ответы
Ответ 1
http://htmlhelp.com/reference/html40/tables/tbody.html:
Элемент TBODY определяет группу строк данных в таблице. TABLE должен иметь один или несколько элементов TBODY, которые должны следовать за дополнительным TFOOT. Конечный тег TBODY всегда является необязательным. Начальный тег является необязательным, если таблица содержит только один TBODY, а не THEAD или TFOOT.
Таким образом, всегда есть tbody (хотя иногда и с опциями, и с опущенными вкладками start и end), и инструменты, которые вы используете, верны, показывая его вам.
thead или tfoot, с другой стороны, никогда не присутствуют, если вы явно не включаете их, и если вы это делаете, то (я) тоже должен быть явным.
Ответ 2
Да, tbody - это стандартный элемент, указывающий тело таблицы. Не нужно помещать его в разметку, но он будет включен в DOM, как вы видели.