Почему браузеры вставляют элемент tbody в элементы таблицы?
Я играл с некоторыми идеями, используя сырой 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 ответа
http://htmlhelp.com/reference/html40/tables/tbody.html:
Элемент TBODY определяет группу строк данных в таблице. ТАБЛИЦА должна иметь один или несколько элементов TBODY, которые должны следовать за необязательным TFOOT. Конечный тег TBODY всегда является необязательным. Начальный тег является необязательным, если таблица содержит только один TBODY и не содержит THEAD или TFOOT.
Таким образом, там всегда есть tbody (хотя иногда и стартовые и конечные теги необязательны и опущены), и инструменты, которые вы используете, правильны в его показе.
thead или tfoot, с другой стороны, никогда не будут присутствовать, если вы не включите их явно, и если вы сделаете это, tbody также должны быть явными.
Да, tbody - это стандартный элемент, указывающий тело таблицы. Не обязательно помещать его в разметку, но он будет включен в DOM, как вы видели.