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

如何点击按钮仅为其所在父级内的对应.main-div添加active类

问题原因

你当前代码直接通过$(".main-div")选中了页面内所有该类名元素,所以每次点击都会统一操作所有目标元素,无法定位到当前按钮对应的容器内的元素。

修复后的代码

替换你原来的JS逻辑即可:

$(".btn").on("click", function () {
  // 先清除所有.main-div的active状态
  $(".main-div").removeClass("active");
  // 定位到当前点击按钮所属的父容器,选中对应.main-div添加active
  $(this).closest('.one').find('.main-div').addClass('active');
})

逻辑说明

  1. 先全局移除所有.main-div的active类,确保同一时间只有一个元素处于激活状态
  2. 通过$(this)获取当前被点击的按钮实例,使用closest('.one')向上查找最近的父级容器,再用find('.main-div')选中该容器内的目标元素单独添加类,不会影响其他容器的元素。

可选扩展(支持点击当前按钮取消激活)

如果需要点击已经激活的按钮可以取消高亮,可以用以下逻辑:

$(".btn").on("click", function () {
  const $currentMain = $(this).closest('.one').find('.main-div');
  // 先移除除了当前目标之外的所有active类
  $(".main-div").not($currentMain).removeClass("active");
  // 切换当前目标的激活状态
  $currentMain.toggleClass("active");
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:54:05