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

时间:2012-06-05 09:57:22

标签: javascript jquery-plugins methods jquery

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

例如,我有jQuery对象

a = $('div')

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

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

b = $('.bar')
b.doSomething()

2 个答案:

答案 0 :(得分:18)

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

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

$('#retk').doSomething();

jsFiddle Demo

请阅读writing jQuery plugins了解其他指南。

答案 1 :(得分:1)

一样添加
$.fn.doSomething = function(data){
    // data is the argument passed to doSomething
    return this.each(function(){
       var elem = $(this);
       //perform operation on elem
       // like to change background color use
       elem.css('background-color','red');

    });
}