里面没有正确显示

时间:2012-06-05 13:50:38

标签: html

有人可以告诉我为什么我的内部行没有进入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内定义的。

提前致谢

1 个答案:

答案 0 :(得分:8)

我会说你的HTML不正确。如果您需要标题部分,请使用<thead><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>