You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现仅点击表格首行触发其余行展开折叠功能?

解决表格仅首行触发折叠/展开的问题

修改思路

把点击事件从整个表格移到首行上,仅点击首行时触发折叠/展开逻辑,其他行点击无反应。

修改后的HTML代码

<table id="customers2" style="width:100%">
    <!-- first row -->
    <tr class="gradient" onclick="expandCollapseTable(this.parentElement)">
        <th style="width:60%">Fruits</th>
        <th style="width:40%">Value</th>
    </tr>
    <!-- second row -->            
    <tr style="display:none">
         <td>Apple</td>
         <td>10</td>
    </tr>
    <!-- third row -->         
    <tr style="display:none">
         <td>Orange</td>
         <td>20</td>
    </tr>
</table>

保留原JavaScript代码(无需修改)

<script type="text/javascript">
function expandCollapseTable(tableObj)
{
    var rowCount = tableObj.rows.length;
    for(var row=1; row<rowCount; row++)
    {
        rowObj = tableObj.rows[row];
        rowObj.style.display = (rowObj.style.display=='none') ? '' : 'none';
    }
    return;
}
</script>

关键说明

  • 移除<table>标签上的onclick事件,将其绑定到首行的<tr>标签
  • 调用函数时传入this.parentElement,确保函数能获取到表格对象,原有折叠逻辑不受影响
  • 其他行未绑定点击事件,点击时不会触发折叠/展开操作

内容的提问来源于stack exchange,提问作者zorbey aslan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 23:50:15