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 

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