0

我需要知道如何制作类似 a 的东西jQuery function,而不是使用 CSS 选择器,就像这样:

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

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

但我不知道我究竟如何发送getId结果来firstFunctiongetId()元素制作一些东西,然后完成secondFunction工作,我一直在尝试,prototype但我无法让它工作。

4

1 回答 1

1

您只需要确保您希望能够链接的所有方法都接受与它们输出相同的上下文,在您的情况下是 DOM 元素。

因此,firstFunction两者secondFunction都应该期望this成为 DOM 元素,并且也应该返回 DOM 元素。然而,这意味着您需要修改内置的 DOM 元素对象并添加您自己的方法,这通常是个坏主意。这就是为什么 jQuery 将所有内容包装在一个包装器对象中,该包装器对象包含作为 API 可用的方法。这些方法都作用于this(必须是相同的特殊对象类型)并返回相同类型的(通常是修改的)对象。

在这里查看一个更轻量级的示例:http: //buildingwebapps.blogspot.com/2012/01/creating-lightweight-dom-javascript.html和一些附加阅读:http: //kendsnyder.com/posts/element- javascript 中的包装器

于 2013-05-13T03:21:01.630 回答