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

同一页面无JQuery的JS显示隐藏切换问题:多段隐藏文本同时显示

原生JS实现多表格独立展开/隐藏功能

直接给你一套不依赖jQuery的简易实现方案,核心是通过自定义data属性给按钮和对应内容建立关联,实现独立控制:

第一步:HTML结构示例

<!-- 第一个表格 -->
<table border="1">
  <tr>
    <td>
      <a href="javascript:void(0)" class="toggle-btn" data-target="content1">展开详情</a>
      <div id="content1" class="toggle-content" style="display: none;">
        这是表格1对应的隐藏文本内容
      </div>
    </td>
  </tr>
</table>

<!-- 第二个表格 -->
<table border="1">
  <tr>
    <td>
      <a href="javascript:void(0)" class="toggle-btn" data-target="content2">展开详情</a>
      <div id="content2" class="toggle-content" style="display: none;">
        这是表格2对应的隐藏文本内容
      </div>
    </td>
  </tr>
</table>

第二步:原生JS逻辑

// 获取所有切换按钮
const toggleBtns = document.querySelectorAll('.toggle-btn');

// 给每个按钮绑定点击事件
toggleBtns.forEach(btn => {
  btn.addEventListener('click', function() {
    // 通过data-target属性找到对应要控制的内容元素
    const targetId = this.getAttribute('data-target');
    const targetContent = document.getElementById(targetId);
    
    if (targetContent) {
      // 切换显示/隐藏状态
      if (targetContent.style.display === 'none') {
        targetContent.style.display = 'block';
        this.textContent = '收起详情';
      } else {
        targetContent.style.display = 'none';
        this.textContent = '展开详情';
      }
    }
  });
});

关键点说明

  • 用data-target属性把按钮和对应的隐藏内容绑定,每个按钮对应唯一的内容ID,确保独立控制
  • 初始状态通过style="display: none"隐藏内容,也可以用CSS类统一控制(比如定义.hidden { display: none; },切换时添加/移除类)
  • 点击按钮时同步切换按钮文字,提升用户体验

内容的提问来源于stack exchange,提问作者Oguz Coskun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 06:59:54