我正在开发的应用程序与Backbone.js的视图类中的渲染后返回一个元素。 如果我使用的div或跨度也没关系。 但问题时,我开始渲染对象作为TR行开始。 一个对象应该被渲染到2-3行。 因此,我可以用这个结构?
<table>
<div>
<tr>...</tr>
<tr>...</tr>
</div>
</table>
我正在开发的应用程序与Backbone.js的视图类中的渲染后返回一个元素。 如果我使用的div或跨度也没关系。 但问题时,我开始渲染对象作为TR行开始。 一个对象应该被渲染到2-3行。 因此,我可以用这个结构?
<table>
<div>
<tr>...</tr>
<tr>...</tr>
</div>
</table>
立即div的一个表里面的标签是无效的。 使用TBODY代替
是的,这是一个非常糟糕的主意。
HTML规范不允许div元素是表元素的子元素,所以它在浏览器中引发错误恢复例程。
鉴于此输入:
<table>
<tr><td>1</td></tr>
<div>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
</div>
<tr><td>4</td></tr>
<div>
<tr><td>5</td></tr>
<tr><td>6</td></tr>
</div>
该DOM火狐将生成(您可以通过使用检查元素的特征看这个)看起来就像这样:
<div>
</div><div>
</div><table>
<tbody><tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr><td>6</td></tr>
</tbody></table>
需要注意的是div元素已经从表中删除,并放在前。 这使得他们无用的操作行。
HTML提供了THEAD,TFOOT和TBODY元素组表中的行。 使用这些替代div元素中的适当(你只能有一个THEAD,只有一个TFOOT,但也有TBODY元素的数量没有限制)。
这不是有效的HTML。 不能嵌套块或在一个表内联元件,仅表元素,如<tbody>
<tr>
或<thead>
当然,你可以嵌套的<div>
在一个表格单元格( <td>
或<th>