Цепочка jQuery: может ли все быть цепным? Когда мы не можем цеплять?

Я знаю, что не все функции jQuery могут быть соединены вместе. Это правило. Когда мы не можем объединить две функции вместе.

Ответ 1

Вы можете связать, когда функция возвращает "объект jQuery".

Например, .css(property, value) может быть прикован, так как документ говорит, что он возвращает jQuery: enter image description here

while .height() не может, так как он возвращает целое число.

enter image description here

Как правило, функции, которые возвращают "объекты jQuery", это те, которые обычно не будут "возвращать значение", например. методы setter (.css(prop, val), .addClass()), связывание событий (.click(handler)) и т.д.

(Конечно, методы трассировки (.parent(), .find() и т.д.) также могут быть связаны, но возвращаемый объект будет отличаться от ввода.)

Ответ 2

Вы не можете связать функцию, возвращающую нечто, отличное от объекта jQuery. Например, attr() с одним параметром, чтобы получить значение атрибута.

Ответ 3

Способом отличия является то, что функции, которые имеют побочные эффекты, обычно возвращают jquery и могут быть привязаны, если функции с фактическим возвратом (например, .text()) не могут.

Ответ 4

если в плагине они выполняются:

return this; //<--jquery object

в конце, тогда u может изменить его с другими плагинами: -)