温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

探索jquery中this指向

发布时间:2020-06-23 05:52:45 来源:网络 阅读:480 作者:luoyuyou3 栏目:web开发

 使用jquery时,函数中的this指向分为jquery对象和原生html对象。

所谓jquery对象就是继承自jquery.fn的对象。

比如$("div")得到一个jquery对象,这个jquery对象封装了页面中所有的div元素,

通过$("div").length可以得到元素的个数;

通过$("div").bind(event, function(e){});可以给页面中的元素注册事件,

关键在于,它是通过给$("div")这个jquery对象封装的每个div元素注册事件来达到目的的,在这里function(e){}中的this指向原生div元素的js对象;

对于jquery.fn.extend({fun1:function{}, fun2:function{}})方法;

它是通过给所有jquery对象隐式链接的对象,即原型对象jquery.fn增加属性来达到目的的,所以所有jquery对象都会继承这里的属性方法;

这样以来fun1和fun2中的this指向变为了jquery对象了,而不是html对象,所以在fun1中可以直接写this.each(function(){})....而不是通过$(this).each(function(){}),尽管后者也是可行

jQuery.fn.extend({

   myMethod: function(){

   $($($(this))).each(function(i){ $(this).click(function() 

       {alert($(this).html().trim() + i)})});

   } }

 

$(" div  p ").myMethod();

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI