我正在看一个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").
希望有道理.
它允许一个调用插件或一串元素的事件,然后应用相同的功能或事件的所有他们的
所以,如果你这样做:
$('.selector').myPlugin();
Run Code Online (Sandbox Code Playgroud)
如果,让我们说,.selector包含10个元素,那么所有10个元素都会得到任何结果myPlugin.
返回该.each语句的原因是.each()返回它给出的任何内容,它允许您在一个jQuery元素上链接多个函数和插件.
例如:
$('.selector').myPlugin().yourPlugin();
Run Code Online (Sandbox Code Playgroud)