jQuery のオブジェクトにメソッドを追加する方法はありますか?
たとえば、私はjQueryオブジェクトを持っています
a = $('div')
そのように割り当てられたすべてのオブジェクトに特定のメソッド ( doSomething()
) があり、次のように呼び出すことができるようにしたいと思います
a = $('.foo')
a.doSomething()
b = $('.bar')
b.doSomething()
jQuery のオブジェクトにメソッドを追加する方法はありますか?
たとえば、私はjQueryオブジェクトを持っています
a = $('div')
そのように割り当てられたすべてのオブジェクトに特定のメソッド ( doSomething()
) があり、次のように呼び出すことができるようにしたいと思います
a = $('.foo')
a.doSomething()
b = $('.bar')
b.doSomething()
$.fn
関数を名前空間に追加する必要があります。this
関数内では、DOM オブジェクトではなく、jQuery オブジェクトを参照することに注意してください。
$.fn.doSomething = function () {
this.css('color', 'red');
};
$('#retk').doSomething();
jsFiddle デモ
追加のガイドラインについては、jQuery プラグインの作成についてお読みください。
のように追加します
$.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');
});
}