17

jQuery のオブジェクトにメソッドを追加する方法はありますか?

たとえば、私はjQueryオブジェクトを持っています

a = $('div')

そのように割り当てられたすべてのオブジェクトに特定のメソッド ( doSomething()) があり、次のように呼び出すことができるようにしたいと思います

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

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

2 に答える 2

20

$.fn関数を名前空間に追加する必要があります。this関数内では、DOM オブジェクトではなく、jQuery オブジェクトを参照することに注意してください。

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

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

jsFiddle デモ

追加のガイドラインについては、jQuery プラグインの作成についてお読みください。

于 2012-06-05T09:59:00.597 に答える
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');

    });
}
于 2012-06-05T09:58:53.107 に答える