为什么return后面的this是指jQuery对象,而不是DOM对象?

为什么return后面的this是指jQuery对象,而不是DOM对象?

var elem1=$('div');

$.fn.extend({

d:function (){

console.log(this);

return this.each(function (){

console.log(this);

});

}

});

elem1.d();

}

});

elem1.d();


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好,jquery是原生JS进行封装的,所以jquery中的this指向的也是DOM对象,加了$之后才是jquery对象哦:

http://img1.sycdn.imooc.com//climg/5dafe7d709c04c4b06620436.jpg

http://img1.sycdn.imooc.com//climg/5dafe7e809cedd1309220121.jpg

自己可以再测试理解下,祝学习愉快!

欢迎采纳~

好帮手慕星星 2019-10-22 09:57:17

同学你好,

this指向调用方法的对象,这里是elem1调用的d方法,所以this指向的是elem1,也就是获取的$('div'),jquery对象。

自己可以测试下,祝学习愉快!

欢迎采纳~

  • 提问者 慕尼黑5122342 #1
    但是console.log(this)中的this是指DOM对象?
    2019-10-23 12:53:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师