ホームページ > 記事 > ウェブフロントエンド > jquery this と $(this) の違い
jquery this と $(this) の違いは次のとおりです: 1. これは HTML 要素であり、$this は単なる変数名です。$ は、jquery オブジェクトであることを示すために追加されます。2. $(this) は、this で表される dom オブジェクトを jquery オブジェクトに変換するために使用できる変換です。
このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。