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

如何使用jQuery选中刚刚被点击的元素?(附相关HTML结构)

用jQuery选中被点击元素的实现方案

嘿,这个需求其实挺普遍的,用jQuery处理起来非常直接,我给你两种常用的实现方式,适配不同场景:

1. 针对静态元素(页面加载时已存在的元素)

如果你的这些<a>标签是页面初始化就有的,直接给它们绑定点击事件,在事件处理函数里用$(this)就能拿到当前被点击的元素:

// 绑定点击事件到.icon下的所有a标签
$('.icons a').on('click', function(e) {
  // 阻止a标签默认的跳转行为(因为你的href是#,不加这个页面会跳转到顶部)
  e.preventDefault();
  
  // $(this)就是当前被点击的那个a标签的jQuery对象
  const clickedLink = $(this);
  
  // 举几个后续操作的例子:
  // 1. 获取它的data-id属性值
  const itemId = clickedLink.data('id');
  console.log('你点击的元素ID是:', itemId);
  
  // 2. 给点击的元素添加高亮样式(同时移除兄弟元素的高亮)
  clickedLink.addClass('active').siblings().removeClass('active');
});

这里的$(this)是jQuery事件处理里的核心用法——它会自动指向触发事件的DOM元素,转成jQuery对象后就能调用各种jQuery方法了。

2. 针对动态生成的元素(后续通过JS添加的元素)

如果你的<a>标签是后来通过JavaScript动态插入到页面中的(比如异步加载后添加),上面的直接绑定方式就失效了,这时候得用事件委托,把事件绑定到一个已经存在的父元素上:

// 把点击事件委托到.icons这个父元素上,监听它内部a标签的点击
$('.icons').on('click', 'a', function(e) {
  e.preventDefault();
  
  const clickedLink = $(this);
  console.log('动态元素的ID:', clickedLink.data('id'));
  // 同样可以做样式修改等操作
});

事件委托的原理是利用DOM的事件冒泡机制,父元素能捕获到子元素触发的事件,哪怕子元素是后来才生成的,也能正常响应。

额外小提示

  • 如果只想给特定group里的a标签绑定事件,可以细化选择器,比如只针对popOutDisplay这个group:$('.group.popOutDisplay a').on('click', ...)
  • 如果不需要阻止a标签的跳转行为,可以去掉e.preventDefault()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:39:03