我可以用原型“扩展”jQuery对象吗?

Can I 'extend' jQuery object with a prototype?

本文关键字:jQuery 对象 扩展 原型 我可以      更新时间:2023-09-26

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

是否可以使用这个多控件原型扩展例如$('.button.prev')?这样我就可以为任何元素分配类似的功能并调用例如 $('.button').previous();

jQuery有一个插件方案,允许你用新方法扩展jQuery对象。 这里有一个教程。

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

$.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方法已经自己这样做了。

相关文章: