jquery中函数里的$(this)为什么和$(e.target)不相等?

html中有个按钮:<buttonid="myBtn">我的按钮</button>$('#myBtn').click(function(e){console.log($(... html中有个按钮:<button id="myBtn">我的按钮</button>
$('#myBtn').click(function(e){
console.log($(this));
console.log($(e.target));
console.log($(this)==$(e.target));
});
发现$(this)和$(e.target)在控制台打印的内容一模一样,但是,两者就是不相

等,很奇怪呀。为什么呢?
展开
 我来答
ispiders
推荐于2018-03-08 · TA获得超过1240个赞
知道小有建树答主
回答量:517
采纳率:80%
帮助的人:199万
展开全部
因为你用了jq来构造两个对象, 所以你最后一步比较的时候, 哪怕是两个对象的内容一模一样, 结果也是不想等的, 对象的比较比较的是指针, 两个指针不一样所以是不想等的, 简单的说就是
var a = new Object();
var b = new Object();// 这两个对象看起来是一模一样的吧, 但是比较结果依然不想等

你直接比较 this == e.target 这样才能得出正确的结果
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
imlulin
2013-11-20 · TA获得超过413个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:168万
展开全部
console.log(this==e.target);

这样就等了
你为什么多于 在声明一次 $(e.target) ($(this)。。这样是对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式