我知道并非所有jQuery函数都可以链接在一起。对此有经验法则吗?什么时候我们不能将2个功能链接在一起
答案 0 :(得分:22)
当函数返回“jQuery对象”时,您可以链接。
例如,.css(property, value)
可以链接,因为doc说它返回jQuery:
while .height()
cannot,因为它返回一个整数。
通常,返回“jQuery对象”的函数是那些通常不会“返回值”的函数,例如: setter方法(.css(prop, val)
,.addClass()
),事件绑定器(.click(handler)
)等。
(当然,遍历方法(.parent()
,.find()
等)也可以链接,但返回的对象将与输入不同。)
答案 1 :(得分:4)
您不能链接一个返回jQuery对象以外的函数。例如,attr()
带有一个参数来获取属性的值。
答案 2 :(得分:3)
区分的方法是,具有副作用的函数通常会返回jquery,并且可以链接到具有实际返回的函数(如.text()
)的情况下。
答案 3 :(得分:2)
如果在插件中他们这样做:
return this; //<--jquery object
最后你可以用其他插件改变它: - )