jQuery插件开发:return this.each()是什么意思?

我找到书面的解释是,通过返回当前对象,来维护链式调用。

但是我的问题是,直接return this不可以吗?
直接return this返回的不也是jQuery选择器获取的jQuery对象吗?
为什么后面要加上each()呢?

5个回答

因为each返回的也是this对象,所以直接return this.each可以执行你的相关操作,还可以保持链式调用功能

因为this.each保证了遍历完成才执行下一个操作,否则迭代是延迟执行的,前面的插件并没有实际执行。

使用each的作用在于执行each可以带function参数,循环执行你要执行的操作。
如果单从链式角度和返回值出发,返回this和this.each返回的是一致的。

 return this.each(function() {
            $(this).append(' - ' + $(this).data('x'));
        });
                等价于
             var objs = this;
        for (var i=0; i<objs.length; i++) {
            var obj = objs[i];
            $(obj).append(' - ' + $(obj).data('x'));
        };
        return this;

我感觉 return this.each(),就相当于 this.each();return this; 那么写只是简写为了方便

你看这个each调用的是什么方法,,应该是遍历

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问