jQuery 插件为什么要return this.each()

jQuery.fn.test2= function(){ 
this.css("background","#ff0");//这里面的this为jquery对象,而不是dom对象
return this.each(function(){ //遍历匹配的元素,此处的this表示为jquery对象,而不是dom对象
alert("this"+this+this.innerHTML); //提示当前对象的dom节点名称,这里的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。
});

};

先return this.each(),后调用each()方法,而each()方法返回jQuery对象,所以这样就可以继续链式操作了。

首先在JQ中,each是遍历一个数组,比如你$('.some')返回的不一定只是一个jq对象,有可能是个数组,好多个elements.
所以return this.each(){}是把所有你索引的对象都作用到这个插件下.
你若保证你的插件每次都只会用一个JQ对象,那么你可以直接return this.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赶路人儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值