首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用div对tr标签进行分组真的是个坏主意吗?

用div对tr标签进行分组真的是个坏主意吗?
EN

Stack Overflow用户
提问于 2012-04-21 18:42:58
回答 3查看 26.9K关注 0票数 23

我正在用Backbone.js开发应用程序,视图类在渲染后返回一个元素。如果我使用div或span,这是可以的。但当我开始将对象渲染为tr行时,问题就开始了。一个对象应该渲染到2-3行。那么我可以使用这个结构吗?

代码语言:javascript
运行
复制
<table>
    <div>
        <tr>...</tr>
        <tr>...</tr>

    </div>
</table>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-21 18:44:34

table标记中紧邻的div无效。改用tbody

票数 48
EN

Stack Overflow用户

发布于 2012-04-21 18:50:50

是的,这是一个非常糟糕的想法。

HTML规范不允许div元素作为table元素的子元素,因此它会在浏览器中触发错误恢复例程。

给定以下输入:

代码语言:javascript
运行
复制
<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>

Firefox将生成DOM (您可以使用Inspect Element特性查看)将如下所示:

代码语言:javascript
运行
复制
<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元素已从表中删除,并放在表的前面。这使得它们在操作行时变得无用。

超文本标记语言提供了对表行进行分组的thead, tfoot and tbody元素。使用其中适当的元素,而不是div元素(您只能有一个thead和一个tfoot,但对tbody元素的数量没有限制)。

票数 6
EN

Stack Overflow用户

发布于 2012-04-21 18:47:18

这不是有效的HTML。不能在表中嵌套块或内联元素,只能嵌套表元素,如<tbody><tr><thead>。当然,您可以在表格单元格(<td><th>)中嵌套<div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10258202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档