以下 HTML 无效,有效的替代方法是将表单标签放在表格标签之外。我的问题是为什么决定将其定为非法。
<table>
<tbody>
<form>
<tr>
<td></td>
<td></td>
</tr>
</form>
</tbody>
</table>
以下 HTML 无效,有效的替代方法是将表单标签放在表格标签之外。我的问题是为什么决定将其定为非法。
<table>
<tbody>
<form>
<tr>
<td></td>
<td></td>
</tr>
</form>
</tbody>
</table>
tbody 标签用于对表格单元格进行分组。它不应该包含任何内容,因此不应该包含表单。
http://www.w3schools.com/tags/tag_tbody.asp
The <tbody> tag is used to group the body content in an HTML table.
The <tbody> element must have one or more <tr> tags inside.
您可以将表格放置在表格的全部内容周围或单个表格单元格内。
根据您在做什么,您可能需要考虑使用<div>
带有 css 样式的 's 而不是表格。表格用于呈现数据(不是表单输入)。而 div 则更多地用于分割和设计。
注意:此答案纯属猜测。
允许非表格元素会使渲染变得不必要地复杂化
在创建 HTML 期间的某个时候,它显然被认为是一种呈现表格数据的必要方式。现在我们希望这是一些简单和标准化的东西,以防止过于复杂的渲染算法导致各种错误。尝试从开发人员的角度考虑表格的呈现。在正常条件下,编写在任何给定限制范围内呈现数据的代码对您来说有多难。现在补充一点,任何其他类型的元素与这些表格元素混合的可能性。这使我们必须如何计算渲染变得相当复杂。