1. ホーム
  2. javascript

[解決済み] '$(this)' と 'this' の違いは何ですか?

2022-03-18 11:09:06

質問

現在、このチュートリアルを進めているところです。 jQuery入門

以下の2つの例について。

$("#orderedlist").find("li").each(function (i) {
    $(this).append(" BAM! " + i);
});
$("#reset").click(function () {
    $("form").each(function () {
        this.reset();
    });
});

最初の例では $(this) の中にテキストを追加しています。 li 要素を使用します。2番目の例では this は、フォームをリセットするときに直接使用します。

$(this) よりもよく使われるようです。 this .

私の推測では、最初の例では $() は、それぞれの li 要素を理解する jQuery オブジェクトに変換します。 append() という関数がありますが、2番目の例では reset() は、フォーム上で直接呼び出すことができます。

基本的には $() は、jQuery専用の特殊な関数です。

これで良いのでしょうか?

解決方法は?

はい、必要なのは $() は、jQueryを使用している場合です。DOMを行うためにjQueryの助けが必要な場合は、このことを覚えておいてください。

$(this)[0] === this

基本的に、要素のセットを取得するたびに、jQueryはそれを jQueryオブジェクト . もし結果が1つしかないことが分かっていれば、それは最初の要素になります。

$("#myDiv")[0] === document.getElementById("myDiv");

などなど・・・。