jQuery链接:一切都可以链接吗?我们什么时候不能连锁?

时间:2011-03-31 20:02:06

标签: jquery chaining

我知道并非所有jQuery函数都可以链接在一起。对此有经验法则吗?什么时候我们不能将2个功能链接在一起

4 个答案:

答案 0 :(得分:22)

当函数返回“jQuery对象”时,您可以链接。

例如,.css(property, value)可以链接,因为doc说它返回jQuery: enter image description here

while .height() cannot,因为它返回一个整数。

enter image description here

通常,返回“jQuery对象”的函数是那些通常不会“返回值”的函数,例如: setter方法(.css(prop, val).addClass()),事件绑定器(.click(handler))等。

(当然,遍历方法(.parent().find()等)也可以链接,但返回的对象将与输入不同。)

答案 1 :(得分:4)

您不能链接一个返回jQuery对象以外的函数。例如,attr()带有一个参数来获取属性的值。

答案 2 :(得分:3)

区分的方法是,具有副作用的函数通常会返回jquery,并且可以链接到具有实际返回的函数(如.text())的情况下。

答案 3 :(得分:2)

如果在插件中他们这样做:

return this; //<--jquery object

最后你可以用其他插件改变它: - )