2013-05-13 36 views
0

我需要知道如何讓像一個jQueryfunction,不與CSS選擇器,就像這樣:的Javascript功能的個性化

function getId(item) { 
    return document.getElementById(item); 
} 

getId('elementID').firstFunction('property').secondFunction('property'); 

,但我不知道究竟如何我送getId結果firstFunction做些什麼到getId()元素,然後使secondFunction工作,我一直試圖與prototype,但我不能讓它的工作。

+0

你可以看看jQuery的如何處理它。 – pktangyue 2013-05-13 03:07:59

回答

1

您只需要確保您希望能夠鏈接的所有方法接受輸出的相同上下文(在您的情況下爲DOM元素)。

因此,firstFunctionsecondFunction都應該期望this是一個DOM元素,並且也應返回DOM元素。這意味着,但是,他們需要修改內置的DOM元素對象並添加自己的方法,即generally a bad idea。這就是爲什麼jQuery將所有內容封裝在包含可用API的方法的包裝對象中。這些方法都在this(必須是相同的特殊對象類型)上執行,並返回相同類型的(通常是修改的)對象。

簽出重量更輕的例子在這裏:http://buildingwebapps.blogspot.com/2012/01/creating-lightweight-dom-javascript.html和一些額外的閱讀這裏:http://kendsnyder.com/posts/element-wrappers-in-javascript

+0

哇,你真的幫了我很多,謝謝你。 – Memolition 2013-05-13 04:02:47