从上面的代码可以看出hide行数其实调用的是showHide,而传入的第一个参数this,并不是dom对象,而是jQuery对象数组,因此showHide函数通过循环此对象数组获取每一个dom对象。
最后看看$("p").bind() -- 事件
复制代码 代码如下:
bind: function( types, data, fn ) {
return this.on( types, null, data, fn );
},
复制代码 代码如下:
on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
// 此部分代码省略
return this.each( function() {
jQuery.event.add( this, types, fn, data, selector );
});
},
bind函数调用的是 on函数,而on函数又是通过 each函数实现了jQuery.event.add。因此 jQuery.event.add( this中的this也就是dom对象了。所以事件中的this也就是dom对象了。
以上就是个人对于jQuery中this与$(this)的理解了,如有什么纰漏,请联系我或者给我留言
您可能感兴趣的文章: