jQuery には、 という名前の内部オブジェクトに格納された関数のライブラリがありますfn
。これらは、すべての jQuery オブジェクトで呼び出すことができるものです。
そうすると、そのクラスのすべての要素を$("div.someClass")
含む jQuery オブジェクトが得られます。これで、それぞれに適用する<div>
ことができます。これは、(この場合は組み込み関数)に格納されている関数の 1 つであることを意味します。$("div.someClass").each( someFunction )
someFunction
each()
fn
内部fn
オブジェクトを拡張 (追加) すると、同じ構文でカスタム関数を自動的に使用できるようになります。と呼ばれる、すべての要素をコンソールに記録する関数があると仮定しましょうlog()
。この関数を$.fn
に追加して、 として使用できます$("div.someClass").log()
。
オブジェクトに追加されたすべての関数は、関数本体内でキーワードが使用した jQuery オブジェクトを指すfn
ような方法で呼び出されます。this
this
メソッドの連鎖が壊れないように、カスタム関数の最後に戻るのが一般的な方法です$("div.someClass").log().each( someFunction )
。
関数をオブジェクトに追加する方法はいくつかありますが$.fn
、より安全なものもあります。かなり安全な方法は次のとおりです。
jQuery.fn.extend({
foo: function() {
this.each( function() { console.log(this.tagName); } );
return this;
}
})