ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery で `$(this)` と `this` を使用する必要があるのはどのような場合ですか?
jQuery での '$(this)' と 'this' の区別
jQuery 入門チュートリアルを進めているときに、 '$(this)' を使用する場合と 'this' を直接使用する場合の微妙な違い。あなたが提供したコード サンプルでは:
$("#orderedlist").find("li").each(function (i) { $(this).append(" BAM! " + i); }); $("#reset").click(function () { $("form").each(function () { this.reset(); }); });
重要な違いは jQuery 固有の機能にあると正しく推測しました。
'$(this)' for jQuery Operations
最初の例では、「$(this)」が「each」関数内で使用され、 「li」要素。 「this」を「$(this)」内にカプセル化することで、それを jQuery オブジェクトに変換します。これにより、「append」などの jQuery メソッドを使用して要素を直接操作できるようになります。
非 jQuery 関数の場合は「this」
2 番目の例では、「this」 ' は、リセット ボタンのクリック ハンドラー関数内で使用されます。ここでは、「form」要素をターゲットにしています。フォームのリセットは標準の HTML 機能であり、jQuery の介入を必要としません。したがって、「this」で直接「reset」を呼び出すことができます。
各フォームを使用する場合
原則として、jQuery 固有の処理を実行したい場合は常に、要素に対する操作には、「$(this)」を使用します。これにより、要素が jQuery オブジェクトとしてカプセル化され、そのすべての機能にアクセスできるようになります。フォームのリセットなど、jQuery 以外の操作の場合は、「this」を直接使用できます。
関係を記憶する
話を単純化するために、次の等価性に留意してください。
$(this)[0] === this
これは、インデックスを作成することで、いつでも元の DOM 要素にアクセスできることを意味します。 '[0]' を持つ jQuery オブジェクト。
以上がjQuery で `$(this)` と `this` を使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。