代码之家  ›  专栏  ›  技术社区  ›  Jitendra Vyas

是否有必要在每一张桌子上都有<tbody>

  •  31
  • Jitendra Vyas  · 技术社区  · 15 年前

    有必要吗 <tbody> 在每张桌子上?根据标准。

    4 回复  |  直到 9 年前
        1
  •  39
  •   Aaron Butacov    15 年前

    只有当你定义 thead tfoot . 它主要用于表具有多个内容体的情况。如果表中的数据很容易理解为 tbody 然后你可以安全地忽略它。

        2
  •  17
  •   svidgen    9 年前

    对于仍在使用IE7的一小部分用户,如果使用DOM方法构建表,则必须在tbody标记中添加封装的tr!

    这将适用于所有主要浏览器:

    var table = document.createElement('table');
    var tbody = document.createElement('tbody');
    var tr = document.createElement('tr');
    tbody.appendChild(tr);
    table.appendChild(tbody);
    

    这在IE7中不起作用:

    var table = document.createElement('table');
    var tr = document.createElement('tr');
    table.appendChild(tr);
    

    我的一篇关于构建表格的快速博客文章:
    http://blog.svidgen.com/2012/05/building-tables-in-ie7-with-javascript.html

    值得注意的是,我不再努力在自己的项目中支持IE7。对于大多数站点来说,IE<=7共享在此时可能是微不足道的。

        3
  •  11
  •   Lea Rosema Lorenzo    11 年前

    引用 HTML 4 spec :“始终需要tbody start标签,除非表格仅包含一个表格主体,没有表格头部或底部部分。t车身端部标签可以安全地省略。'

    所以,你必须有一个 <tbody> 如果您有 <thead> <tfoot>

    参见: MDN

        4
  •  -5
  •   David Frantz    15 年前

    大多数浏览器都是宽容的,但即使如此,我还是在所有我现在使用的表中添加了这对浏览器。即使是小桌子。尤其是现在我越来越多地使用CSS来装饰那些桌子。

    据说我的旧表在最新的浏览器上仍然可以正常工作。我正在努力学习,但是在这里加上可选的标签需要额外的几微秒,从长远来看,这样做可以节省你的金钱/时间。

    戴夫

    推荐文章