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

如何实现点击按钮后展示默认隐藏的HTML表格的功能

实现点击按钮显示表格的修改方案

你只需要在原有代码基础上做3处修改即可实现需求:

  • 新增触发显示的按钮元素
  • 给表格添加默认隐藏的样式和唯一标识ID
  • 补充按钮点击事件的逻辑,点击时修改表格的显示状态

另外你原有代码存在一处冗余问题:HTML结构里已经定义了<tbody id="tableData">,但JS逻辑里又额外拼接了<tbody>标签,插入后会导致嵌套多余的tbody标签,下面的代码里已经同步修正了这个问题,同时把原本和数据不匹配的表头也做了对应调整。

完整可运行代码

<!DOCTYPE html>
<html>
<body>
  <!-- 新增的触发按钮 -->
  <div align="center">
    <button onclick="showTable()">点击显示表格</button>
  </div>
  <!-- 给表格加id和默认隐藏样式 -->
  <table id="targetTable" cellpadding="2" cellspacing="2" border="0" bgcolor="#dfdfdf" width="40%" align="center" style="display: none;">
    <thead>
      <tr>
        <th>ID</th>
        <th width="20%">分类</th>
        <th width="12%">数量</th>
      </tr>
    </thead>
    <tbody id="tableData"></tbody>
  </table>
  <script type="text/javascript">
    var mainObj = [{
        id: 0,
        kategori: 'Køer',
        antal: 50
      },
      {
        id: 1,
        kategori: 'Hunde',
        antal: 1
      },
      {
        id: 2,
        kategori: 'Grise',
        antal: 100
      },
      {
        id: 3,
        kategori: 'Får',
        antal: 20
      },
    ];
    // 去掉了多余的tbody拼接逻辑
    var k = ''
    for (i = 0; i < mainObj.length; i++) {
      k += '<tr>';
      k += '<td>' + mainObj[i].id + '</td>';
      k += '<td>' + mainObj[i].kategori + '</td>';
      k += '<td>' + mainObj[i].antal + '</td>';
      k += '</tr>';
    }
    document.getElementById('tableData').innerHTML = k;

    // 新增的显示表格函数
    function showTable() {
      document.getElementById('targetTable').style.display = 'table';
    }
  </script>
</body>
</html>

如果需要实现点击按钮切换显示/隐藏的效果,只需要把showTable函数改成如下逻辑即可:

function toggleTable() {
  const table = document.getElementById('targetTable')
  table.style.display = table.style.display === 'none' ? 'table' : 'none'
}

再把按钮的点击事件绑定改成onclick="toggleTable()"即可。

内容的提问来源于stack exchange,提问作者Mikkel Nielsen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:54:03