ホームページ  >  記事  >  ウェブフロントエンド  >  jquery this と $(this) の違い

jquery this と $(this) の違い

藏色散人
藏色散人オリジナル
2020-12-03 09:16:112310ブラウズ

jquery this と $(this) の違いは次のとおりです: 1. これは HTML 要素であり、$this は単なる変数名です。$ は、jquery オブジェクトであることを示すために追加されます。2. $(this) は、this で表される dom オブジェクトを jquery オブジェクトに変換するために使用できる変換です。

jquery this と $(this) の違い

このチュートリアルの動作環境: Windows 7 システム、jquery バージョン 1.10.0、Dell G3 コンピューター。

推奨: "jquery ビデオ チュートリアル "

JQuery this と $(this) の違いと $(this) サブクエリの取得方法element object

1. JQuery this と $(this)

 // this其实是一个Html 元素。
 
 // $this 只是个变量名,加$是为说明其是个jquery对象。
 
 // 而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作。

の違い JQuery を初めて使用する多くの人は $(this の違いについて混乱すると思います) ) とこれ、これ この 2 つの違いは何ですか?

まず、JQuery の $() シンボルを見てみましょう。実際、このシンボルは JQuery の JQuery() と同等です。つまり、$(this)=jquery(); つまり、これは jquery オブジェクトを返すことができます。次にWebページ上でalert($('#id'));すると[object オブジェクト]がポップアップしますが、このobjectオブジェクトもjqueryオブジェクトです。

それで、$(this) に戻りましょう。これは何ですか?次のコードがあるとします。

$("#desktop a img").each(function(index){
            alert($(this));
            alert(this);
}

次に、この時点で次のことがわかります:

alert($(this));  弹出的结果是[object Object ]
alert(this);        弹出来的是[object HTMLImageElement]

つまり、後者は HTML オブジェクトを返します (この場合、それは img です) HTML オブジェクトをトラバースするため、HTMLImageElement)。

jqueryを使っているとよくthis.attr('src');というエラーメッセージが出ることがありますが、これはなぜでしょうか?実際、上記の例を理解していれば、どこが間違いであるかがわかるでしょう: それは非常に単純です。これは HTML オブジェクトを操作します。では、なぜ HTML オブジェクトに val() メソッドがあるのでしょうか? したがって、使用中は、これを直接使用することはできません。jquery のメソッドまたはプロパティを直接呼び出します。

2. $(this) 子ノード オブジェクトを取得するメソッド: find(element)

$(this) と this の違いを理解して、次の例を見てみましょう: ( , ページ内の a タグには img が含まれており、src 属性が含まれています) トラバースするときに、.find(element) が返す $(this)

      $("#desktop a ").each(function(index){
         var imgurl=$(this).find('img').attr('src');
         alert(imgurl);
        }

の下の img の src のアドレスを取得したいと考えています。要素を照合するために使用される DOM 要素。これにより、必要な src アドレスを取得できます。

以上がjquery this と $(this) の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。