jQueryのオブジェクトにメソッドを追加する方法はありますか?jQueryオブジェクトに新しいメソッドを追加する方法は?
例えば、私はjQueryオブジェクト
a = $('div')
を持って私はそのような割り当てられたすべてのオブジェクトは、特定の方法(doSomething()
)を有することたいので、私は
a = $('.foo')
a.doSomething()
b = $('.bar')
b.doSomething()
jQueryのオブジェクトにメソッドを追加する方法はありますか?jQueryオブジェクトに新しいメソッドを追加する方法は?
例えば、私はjQueryオブジェクト
a = $('div')
を持って私はそのような割り当てられたすべてのオブジェクトは、特定の方法(doSomething()
)を有することたいので、私は
a = $('.foo')
a.doSomething()
b = $('.bar')
b.doSomething()
のようにそれを追加します名前空間。関数内では、this
はDOMオブジェクトではなくjQueryオブジェクトを参照します。
$.fn.doSomething = function() {
this.css('color', 'red');
};
$('#retk').doSomething();
についてwriting jQuery plugins追加のガイドラインについてをお読みください。
はあなたがにあなたの機能を追加する必要が
$.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');
});
}
これは、作成された* jQueryオブジェクトに影響することを指摘したいと思います。 – jAndy
@jAndy最新の回答、今すぐ正しいかどうか確認して確認できますか? –
'.css()'メソッドはここでは本当に良い例ではなく、 '.each()'を無意味に使用しています。 – kapa