0

自从我学习了 jQuery 之后,我一直想知道 jQuery 是如何通过添加点来一个接一个地执行一个函数的.(不知道它的真名,抱歉);

$("#somediv").fadeIn("fast").css("background","blue");

当淡入淡出效果完成后,CSS 函数就会执行。就像你可以一个接一个地执行你想要的任何功能。

我怎样才能做到这一点?

注意:如果我命名错误,请纠正我,我只是想学习。

4

3 回答 3

5

它返回相同类型的对象,这是一个演示该技术的非常简单的示例:

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();
于 2013-02-19T02:55:37.850 回答
3

它被称为方法链接,其中方法返回它调用它的对象。

您还可以参考以下关于主题
How can jQuery do method chaining
jquery chaining 如何工作的帖子?

于 2013-02-19T02:56:08.293 回答
0

简短的回答非常简单。每个方法都返回与传递给它的选择器匹配的元素集合,从而允许将同一集合传递给下一个链式方法。

寻找源代码return this

于 2013-02-19T02:53:59.463 回答