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

相同class元素点击仅触发选中项功能 点击图片展示对应隐藏区域实现问题

问题原因

你当前的代码直接通过全局类名选择所有匹配元素,没有限定作用范围到你点击的图片对应的模块,所以每次点击会触发所有同类名元素的显隐切换。

解决方案

第一步:修改HTML中img的点击事件传参

把所有img的onclick属性修改为传入当前触发元素本身:

<img class='tm-img' onclick='run(this)' src="/team_1.png" alt="">

第二步:修改JS逻辑,限定显隐操作的范围

修改run函数,先定位到点击图片所属的独立模块容器,再仅操作该容器内的目标元素:

function run(ele){
  // 定位当前点击图片对应的最外层独立模块容器
  const $currentModule = $(ele).closest('.tm-full-container')
  // 仅切换当前模块内的对应元素
  $currentModule.find('.tm-info').toggle()
  $currentModule.find('.tm-full-info').toggle()
  $currentModule.find('.tm-title').toggle()
}

优化方案(可选,更符合前端开发规范)

你也可以去掉所有内联的onclick属性,改用事件绑定的方式实现,代码更整洁易维护:

// 页面加载完成后绑定点击事件
$(function(){
  $('.tm-img').on('click', function() {
    const $currentModule = $(this).closest('.tm-full-container')
    $currentModule.find('.tm-info').toggle()
    $currentModule.find('.tm-full-info').toggle()
    $currentModule.find('.tm-title').toggle()
  })
})

注意事项

初始状态请确保.tm-info、.tm-full-info两个类对应的元素默认设置了display: none的CSS样式,保证页面加载时仅展示img和title。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:27:01