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

无需修改HTML或传参,解决onclick函数中$(this)无效问题的方法

解决$(this)在onclick函数中失效的问题

嘿,我懂你遇到的这个小坑了!当你在HTML的onclick属性里直接调用social_follow_us()时,函数里的this默认指向的是全局window对象,压根不是你点击的那个<a>标签,所以$(this)自然没法选中触发元素。不过不用改HTML、不传参数也能搞定,给你个最直接的方案:

利用浏览器自动传递的event对象

浏览器触发点击事件时,会自动生成一个event对象,里面包含了触发事件的目标元素信息。你可以直接在函数里拿这个对象获取点击元素:

function social_follow_us(){
  // 获取触发事件的元素,兼容现代浏览器和旧IE
  const clickedElement = event ? event.target : window.event.srcElement;
  $(clickedElement).addClass("green");
}

原理很简单:event.target就是触发点击的那个DOM元素,把它转换成jQuery对象后,就能正常调用addClass方法了。这个方法完全不用动你的HTML代码,也不用额外传参数,完美符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:29:05