什么"返回this.each()"在jQuery中做什么?

lar*_*ryq 9 each jquery

我正在看一个jQuery插件,它有一个单一的功能.在通过构造函数参数设置适当的默认值后,函数定义了几个辅助函数,然后在最后一部分返回对this.each()的调用,如下所示:

return this.each(function() {
 //long method defined here
});
Run Code Online (Sandbox Code Playgroud)

我理解使用this.each()来修改匹配的DOM元素等等,但是return语句可以完成什么?某种经过修改的DOM元素数组,然后可以在其他调用中链接?

我在这个网站上看到了这个,但我无法确定return这里有什么用.感谢您帮助澄清这一点.

Ale*_*pin 10

.each返回它被调用的元素,因此在这种情况下,可能是为了保持方法在该选择器上链接的能力.这意味着如果调用插件'S方法foo,你应该能够做到

$("mySelector").foo().show();
Run Code Online (Sandbox Code Playgroud)

因为foo返回的结果.each基本上是$("mySelector").

希望有道理.


Nea*_*eal 7

它允许一个调用插件或一串元素的事件,然后应用相同的功能或事件的所有他们的

所以,如果你这样做:

$('.selector').myPlugin();
Run Code Online (Sandbox Code Playgroud)

如果,让我们说,.selector包含10个元素,那么所有10个元素都会得到任何结果myPlugin.


返回该.each语句的原因是.each()返回它给出的任何内容,它允许您在一个jQuery元素上链接多个函数和插件.

例如:

$('.selector').myPlugin().yourPlugin();
Run Code Online (Sandbox Code Playgroud)