0

谁能告诉我为什么我的内部行没有进入 td.

<tr id="group_1_id">
    <th>Group 1</th>
    <td>
        <tr id="1"><td>1</td><td>One</td><td><input type="text" name="one" value="one"/></td></tr>
        <tr id="2"><td>2</td><td>Two</td><td><input type="text" name="two" value="two"/></td></tr>
        <tr id="3"><td>3</td><td>Three</td><td><input type="text" name="three" value="three"/></td></tr>
    </td>
</tr>

3 个表行位于父 tr 之外。尽管它们是在我父母 tr 的 td 中定义的。

提前致谢

4

1 回答 1

8

我会说你的 HTML 不正确。如果你想要一个标题部分,那么使用<thead> or<tbody>元素,而不是<th>. 我相信您的问题源于您使用<th>而不是<thead>.

您可能需要使用验证器来检查您的 HTML 是否正确。例如,将您的页面上传到http://validator.w3.org,并更正它显示的错误。

还要检查规范(例如在www.whatwg.org上),因为我想您想在表中创建多个标题部分。一个表可能有不超过一个<thead>、不超过一个<tfoot>和任意数量的<tbody>元素。

哦,你刚刚重新编辑了问题,但问题是一样的:)

<tr>元素不能放在<td><th>内。解析该代码时,会自动创建一个嵌套表,因此真正的 HTML 如下所示:

<tr id="group_1_id">
  <th>Group 1</th>
  <td>
    <table>
      <tbody>
        <tr id="1"><td>1</td><td>One</td><td><input type="text" name="one" value="one"/></td></tr>
        <tr id="2"><td>2</td><td>Two</td><td><input type="text" name="two" value="two"/></td></tr>
        <tr id="3"><td>3</td><td>Three</td><td><input type="text" name="three" value="three"/></td></tr>
      </tbody>
    </table>
  </td>
</tr>
于 2012-06-05T13:57:58.393 回答