我需要知道如何制作类似jQuery
function
的内容,而不是CSS选择器,就像这样:
function getId( item ) {
return document.getElementById( item );
}
getId('elementID').firstFunction('property').secondFunction('property');
但我不知道如何将getId
结果发送到firstFunction
以便向getId()
元素发送内容,然后使secondFunction
工作,我我一直在试用prototype
,但我无法让它发挥作用。
答案 0 :(得分:1)
您只需要确保您希望能够链接的所有方法都接受与输出相同的上下文,在您的情况下是DOM元素。
因此,firstFunction
和secondFunction
都应该期望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