jQuery 插件为什么要return this.each() 骑猪看日落 2021-06-24 13:59 376阅读 0赞 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.
还没有评论,来说两句吧...