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