<tbody>: 表体标签
最后更新:2026-10-13
<tbody>表体标签
表格的主体区域,包裹数据行(tr),一个表格可包含多个 tbody 进行分组。
| 分类 | 表格 |
|---|---|
| 内容模型 | 流式内容 |
| 允许的父元素 | 接受流式内容的元素 |
| 闭合标签 | 需要 </tbody> 标签 |
| 状态 | 标准 |
📝 语法
<tbody>
<tr><td>...</td></tr>
</tbody>
▶ 示例
编辑下方代码,在 playground 中查看实时效果:
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| <tbody> | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| 所有主流浏览器均支持 | |||||
提示: 即使不写 tbody,浏览器也会自动补全;显式写出更利于脚本控制。
❓ 常见问题
Qtbody 可以有多个吗?
A可以,这是合法且有用的结构:多组数据行各自包一个
<tbody>,配合 CSS 按组设置背景色,或用 tbody:nth-of-type() 分组斑马纹。每组 tbody 在 DOM 中是独立的行分组。Q为什么 DOM 里总能看到 tbody?
AHTML 解析器规定 table 的行必须属于行分组,源码省略
<tbody> 时浏览器自动补一个隐式的。这就是「JS 查 table 的子元素发现不是 tr 而是 tbody」的原因——DOM 结构与源码写法不完全一致。Qtbody、thead、tfoot 的顺序重要吗?
A源码推荐 thead → tbody → tfoot 的顺序书写;历史上允许 tfoot 提前(便于流式渲染时先拿到表尾),但现代标准已按视觉顺序处理。DOM 中浏览器会把它们归位到正确分组,无序书写交给解析器修正不如自己写对。
🏷️ 相关标签
💡 相关案例
更多案例即将上线,敬请期待。