2013-05-13 35 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