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

需求:实现点击对应按钮切换显示单个div的JavaScript函数

实现点击按钮切换显示对应Div的功能

首先注意:原HTML中class以数字开头(class="1")不符合HTML规范,建议修改为合法类名,同时给每个内容Div添加data-index属性对应按钮序号,修正后的HTML结构如下:

<div class="toggle-container">
    <div class="content-item" data-index="1">1</div>
    <div class="content-item" data-index="2">2</div>
    <div class="content-item" data-index="3">3</div>
    <div class="content-item" data-index="4">4</div>
    <div class="content-item" data-index="5">5</div>
</div>
<div class="switch-container">
  <button class="switch" data-index="1">1</button>
  <button class="switch" data-index="2">2</button>
  <button class="switch" data-index="3">3</button>
  <button class="switch" data-index="4">4</button>
  <button class="switch" data-index="5">5</button>
</div>

步骤1:添加基础CSS

默认隐藏所有内容Div,可选默认显示第一个内容:

.content-item {
    display: none;
}
/* 可选:初始显示第一个内容 */
.content-item[data-index="1"] {
    display: block;
}

步骤2:编写JavaScript逻辑

方案1:直接绑定按钮事件

给每个按钮单独绑定点击事件,实现切换:

const buttons = document.querySelectorAll('.switch');
const contentItems = document.querySelectorAll('.content-item');

buttons.forEach(button => {
    button.addEventListener('click', () => {
        const targetIndex = button.getAttribute('data-index');
        
        // 隐藏所有内容
        contentItems.forEach(item => item.style.display = 'none');
        // 显示对应索引的内容
        document.querySelector(`.content-item[data-index="${targetIndex}"]`).style.display = 'block';
    });
});

方案2:事件委托(更高效)

仅给按钮父容器绑定一次事件,适合按钮数量较多的场景:

const buttonContainer = document.querySelector('.switch-container');
const contentItems = document.querySelectorAll('.content-item');

buttonContainer.addEventListener('click', (e) => {
    if (e.target.classList.contains('switch')) {
        const targetIndex = e.target.getAttribute('data-index');
        
        contentItems.forEach(item => item.style.display = 'none');
        document.querySelector(`.content-item[data-index="${targetIndex}"]`).style.display = 'block';
    }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 07:20:27