javascript - 如何在 Javascript 中实现可折叠的表格行?

标签 javascript

我想要可以动态折叠网页中某些行的表格,例如:

    |   Title   |   Foo   |   Bar   |
    ---------------------------------
    | + My First Section            |
    ---------------------------------
    | + My Second Section           |
    ---------------------------------

可以动态扩展到

    |   Title   |   Foo   |   Bar   |
    ---------------------------------
    | - My First Section            |
    ---------------------------------
    | 1st Title |    42   |  $10.00 |
    ---------------------------------
    | 2nd Title |    74   |  $12.00 |
    ---------------------------------
    | + My Second Section           |
    ---------------------------------

当我按下 + 符号时。

是否有任何 JavaScript 库可以帮助我做这样的事情,或者是否有一些神奇的 native 命令可以轻松地为我做这件事?

最佳答案

将每个部分放在不同的 tbody 元素中,每个元素都有一个 id 属性。使每个 tbody 的第一行成为单个标题单元格(具有适当的 colspan),其中包含您的部分标题文本和指向 #the_tbody_id 的 anchor 。然后:

  1. 添加 CSS:

    tbody[id]:not(:target) > tr:first-child + tr { 显示:无!重要;

  2. 或者,对于非部分 CSS3 浏览器,添加 Javascript 以隐藏每个 tbody 中的非第一行(例如,循环通过 tablelement.getElementsByTagName("tbody")),并将 anchor 挂接到在点击时切换它们的显示属性(例如,循环 tbodyelement.getElementsByTagName("tr"))。

关于javascript - 如何在 Javascript 中实现可折叠的表格行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/801082/

相关文章:

javascript - Javascript 只匹配一个 URL

javascript - 崩溃碰撞时数组拼接多个对象

javascript - 单击时创建一个新对象

javascript - 在 Docker 容器中使用带有 Webpack dev-server 的服务 worker

javascript - Chrome Mobile 中的 localStorage 为 null

javascript - 单击图像打开弹出窗口

javascript - Node.js Sequelize getter/setter RangeError

javascript - 如何在 OpenLayers 中设置默认 View 而不限制边界?

javascript - 如何加载 gif 直到显示图表

javascript - 单击按钮 Javascript 后仅显示图像