2011-03-31 57 views

回答

19

當函數返回「jQuery對象」時,您可以鏈接。

例如,.css(property, value)可以鏈接,因爲醫生說,它返回的jQuery: enter image description here

.height() cannot,因爲它返回一個整數。

enter image description here

典型地,返回的功能「的jQuery對象」是指那些通常不會「返回值」,例如setter方法(.css(prop, val).addClass()),事件粘合劑(.click(handler))等

(當然橫動方法(.parent().find()等)也可以鏈接,但返回的對象將是從輸入不同。)

+0

你能舉出JQuery中的2個函數不能鏈接的例子。 – Pinkie 2011-03-31 20:05:35

+0

@KennyTM,我可以請求你看看關於不同主題的jQuery問題:http://stackoverflow.com/questions/13137404/jquery-find-div-class-name-at-a-certain-在滾動的位置? – 2012-10-31 07:44:14

2

如果在插件中他們做的:

return this; //<--jquery object 

末則U可以與其他插件改變它:-)

+0

過濾器通常不會返回原始對象。 – zzzzBov 2011-03-31 20:05:18

+0

@zzzBov我修復了我的帖子,以反映.. – Neal 2011-03-31 20:05:43

4

你不能鏈中retur功能ns不是jQuery對象。例如,attr()用一個參數來獲取屬性的值。

3

區分的方法是有副作用的函數通常會返回jquery,並且可以與實際返回值(如.text())的函數不能鏈接在一起。