链接函数如何在JQuery中执行?

时间:2010-02-05 12:51:44

标签: jquery method-chaining

当一个函数在JQuery中链接时,操作的顺序是什么?

示例1

$(selector).fun1(val,{fun2(){ }}

示例2

$(selecter).fun1().fun2().fun3() 

3 个答案:

答案 0 :(得分:8)

从左到右。对fun3() fun2()的结果(=返回值)fun2()运行fun1()

这种链接可以在JQuery中完成,因为每个可链接的函数都返回它被调用的对象/元素。

因此$(selector).fun1()在执行后返回$(selector)元素。从返回的元素调用fun2(),依此类推。

答案 1 :(得分:6)

在这个例子中:

$(selector).fun1(val,{fun2(){ }}

第一个函数的参数是callback function。这意味着fun1执行那么 fun2执行。

在这个例子中:

$(selecter).fun1().fun2().fun3()

如果有持续时间,就像动画一样,所有功能都会尽快被解雇。否则,它们会按顺序执行fun1fun2fun3

因此,对于动画,fun1fun2fun3将是3个同时重叠的动画,但对于其他同步操作,它们只是按顺序发生。

答案 2 :(得分:0)

  1. 使用“回调”功能。你将fun2作为参数传递给fun1,fun1然后在完成后调用fun2。
  2. 这是jQuery的一个非常聪明的功能,大多数jQuery的方法返回调用该方法的原始对象,因此您可以在该返回的对象上调用另一个方法。序列与它所写的序列相同。