因为我学过jQuery,我总是想知道jQuery如何通过添加点来执行一个接一个功能.
(不知道它的真名,对不起)。jQuery:函数是如何工作的仅仅是点(。)
$("#somediv").fadeIn("fast").css("background","blue");
当淡入淡出效果完成后,将执行CSS功能。就好像你可以一个接一个地执行你想要的任何功能。
我该怎么做?
注意:如果我指出错误,请纠正我,我只是想学习。
因为我学过jQuery,我总是想知道jQuery如何通过添加点来执行一个接一个功能.
(不知道它的真名,对不起)。jQuery:函数是如何工作的仅仅是点(。)
$("#somediv").fadeIn("fast").css("background","blue");
当淡入淡出效果完成后,将执行CSS功能。就好像你可以一个接一个地执行你想要的任何功能。
我该怎么做?
注意:如果我指出错误,请纠正我,我只是想学习。
简短的回答很简单。每个方法都会返回匹配传递给它的选择器的元素集合,从而允许将相同的集合传递到下一个链接方法中。
看在源return this
它返回相同类型的对象,这里是一个演示的技术的真正简单的例子:
var Counter = function(){
this.val = 0;
};
Counter.prototype.increment = function(){
++this.val;
return this;
};
Counter.prototype.decrement = function(){
--this.val;
return this;
};
Counter.prototype.log = function(){
console.log(this.val);
return this;
};
var o = new Counter();
o.increment().increment().decrement().log().increment().log();
这就是所谓的method chaining,其中一个方法返回的对象,它称之为。
您也可以参考关于这个问题
How can jQuery do method chaining
how does jquery chaining work?
什么问题下面的帖子? – 2013-02-19 02:53:51
哎呀对不起:p。编辑 – Misters 2013-02-19 02:54:38
每个jQuery函数都会返回一个jQuery对象,然后您可以在最后一个函数之后立即调用它的方法。 – 2013-02-19 03:06:42