【发布时间】:2011-03-31 20:02:05
【问题描述】:
我知道并不是所有的 jQuery 函数都可以链接在一起。是否有经验法则。我们什么时候不能将两个函数链接在一起。
【问题讨论】:
我知道并不是所有的 jQuery 函数都可以链接在一起。是否有经验法则。我们什么时候不能将两个函数链接在一起。
【问题讨论】:
您可以在函数返回“jQuery 对象”时进行链接。
例如,.css(property, value) 可以被链接,因为文档说它返回 jQuery:
而.height() cannot,因为它返回一个整数。
通常,返回“jQuery 对象”的函数是那些通常不会“返回值”的函数,例如setter 方法(.css(prop, val)、.addClass())、事件绑定器(.click(handler))等
(当然遍历方法(.parent()、.find()等)也可以链接,但返回的对象会与输入不同。)
【讨论】:
你不能链接一个返回 jQuery 对象以外的东西的函数。比如attr()用一个参数来获取一个属性的值。
【讨论】:
区分的方法是具有副作用的函数通常返回 jquery,并且可以链接到具有实际返回的函数(如.text())不能。
【讨论】:
如果他们在插件中这样做:
return this; //<--jquery object
最后你可以用其他插件来改变它:-)
【讨论】: