div在表定义中的IE中不起作用

时间:2012-08-23 08:40:26

标签: javascript css html-table

div标记在表定义中不起作用:

<table>
<tr></tr>
<div id="choice"><tr>
<td>-------</td>
<td>-------</td>
<td>-------</td>
<td>-------</td>
</tr></div>
<tr></tr>
</table>

如果我正在尝试---&gt; getElementById("choice").innerhtml="some data with td's"无法在IE浏览器中使用?

但如果我使用div,则启动新表格,

<table>
<tr></tr>
<div id="choice"><table>
<tr>
<td>-------</td>
<td>-------</td>
<td>-------</td>
<td>-------</td>
</tr>
</table>
</div>
<tr></tr>
</table>

但是我可以只用一个表来制作它,以便在IE上运行。

1 个答案:

答案 0 :(得分:3)

表标记必须遵循特定的语义。您可以在TD或TH 内插入标签(div和其他)!不能在表/表之间插入任何不是以下之一的标签:tr,td,th,thead,tbody,tfoot(无论如何你必须正确嵌套它们!)。 遗憾的是,这是一个非常常见的错误,可以打破表结构形式,如:

<form>
  <table> 
    <tr>
      <td>
        <input type="text" name="foo" />
        <input type="submit" value="send" />
      </td>
    </tr>
    </form>
  </table>

上面的例子很难调试......所以要注意以尊重表语义