1

以下 HTML 无效,有效的替代方法是将表单标签放在表格标签之外。我的问题是为什么决定将其定为非法。

 <table>
   <tbody>
     <form>
       <tr>
         <td></td>
         <td></td>
       </tr>
     </form>
   </tbody>
 </table>
4

2 回答 2

6

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 则更多地用于分割和设计。

于 2013-06-12T01:11:29.857 回答
0

注意:此答案纯属猜测。

允许非表格元素会使渲染变得不必要地复杂化

在创建 HTML 期间的某个时候,它显然被认为是一种呈现表格数据的必要方式。现在我们希望这是一些简单和标准化的东西,以防止过于复杂的渲染算法导致各种错误。尝试从开发人员的角度考虑表格的呈现。在正常条件下,编写在任何给定限制范围内呈现数据的代码对您来说有多难。现在补充一点,任何其他类型的元素与这些表格元素混合的可能性。这使我们必须如何计算渲染变得相当复杂。

于 2014-05-16T03:14:06.770 回答