如何向jQuery对象添加新方法?

evf*_*qcg 17 javascript methods jquery jquery-plugins

有没有办法为jQuery的对象添加方法?

例如,我有jQuery对象

a = $('div')
Run Code Online (Sandbox Code Playgroud)

我希望每个被分配的对象都有特定的方法(doSomething())所以我可以调用它

a = $('.foo')
a.doSomething()

b = $('.bar')
b.doSomething()
Run Code Online (Sandbox Code Playgroud)

kap*_*apa 19

您必须将您的函数添加到$.fn命名空间.请注意,在函数内部,this将引用jQuery对象,而不是DOM对象.

$.fn.doSomething = function () {
    this.css('color', 'red');
};

$('#retk').doSomething();
Run Code Online (Sandbox Code Playgroud)

的jsfiddle演示

请阅读有关编写jQuery插件的更多指南.