我可以延伸吗?带有原型的jQuery对象?

时间:2015-01-30 07:51:29

标签: javascript jquery extend prototypal-inheritance

我的网站上有一个多步骤表单插件,它有multicontrol.prototype,可以保存下一个和上一个按钮的功能。

是否可以扩展,例如这个多控制原型的$(' .button.prev')?这样我就可以为任何元素分配类似的功能并调用例如$(' .button&#39)。先前的();

1 个答案:

答案 0 :(得分:1)

jQuery有一个插件方案,允许您使用新方法扩展jQuery对象。有一个教程here

以下是该教程中的一个非常简单的示例:

$.fn.greenify = function() {
    return this.css( "color", "green" );
};

$( "a" ).greenify(); // Makes all the links green.

在内部,$.fn是新jQuery对象使用的原型对象,因此向其添加属性,为所有jQuery对象添加方法。

按照惯例,大多数jQuery插件方法应该返回jQuery对象以启用链接。而且,如果您必须处理单个DOM节点,那么您应该在插件方法中迭代this.each(),以便它可以在DOM节点的集合上工作,而不仅仅是单个节点。大多数jQuery方法已经自己做了。