jQueryプラグインのチュートリアルからこのコードを入手しました。しかし、私の質問はjavascript/jquery
です。このコードのしくみ(jQuery chaining)
コードでは、filter()
がオブジェクトを返します。このオブジェクトには、「フィルタリングされた」オブジェクトのコレクションが含まれています。 append()
がそれを操作しています。
私が尋ねるのは、どのように追加機能がすべての要素を操作し、返されたオブジェクトに対して一度しか動作しないかということです。
this.filter("a").append(function() {
return " (" + this.href + ")";
});
あなたの質問はあまり意味がありません。 2番目の段落では、戻りオブジェクトにコレクションが含まれていると言っています... "すべての要素"と "返されたオブジェクト"は同じものです。 – Quentin
私は理解しています。私は言い換えようとします。 – yossi
あなたが何を求めているのか理解していれば(それはどのように機能するのか)、それは範囲の問題です。ドキュメントごとに - http://api.jquery.com/append/#append-function - 'append.function()'は "一致した要素のセットの各要素に対して動作します[...]この関数内では、' this 'はセット内の現在の要素を参照します。言い換えれば、あなたのコードでは、最初の 'this.filter'のスコープは、関数自体の中の' this.href'のスコープと異なります。これは、コレクションを通る反復中に順番に各要素を表します。 –