ホームページ  >  記事  >  ウェブフロントエンド  >  JQuery_jquery の this と $(this) の違いを説明する例

JQuery_jquery の this と $(this) の違いを説明する例

WBOY
WBOYオリジナル
2016-05-16 16:28:311397ブラウズ

これは jquery ではほとんど使用されません。コードを見ると、これが使われていることがわかったので、これの値をデバッグして、そうだと思いました。まだかなり役に立ちます。 this と $(this) の違いと使い方をまとめました。

$(this) は何を生成しますか?

$() は何を生成しますか?実際、$()=jquery() は、jquery オブジェクトを返すことを意味します。

通常、簡単にするために $() を直接使用します。実際、この関数はパラメータ コンテキストを省略します。セレクター、つまり $(selector, context) に基づいて一致するオブジェクトを選択し、それを jQuery ラッパー セットの形式で返します。

コンテキストは、Dom オブジェクト コレクションまたは jQuery パッケージ セットにすることができます。これを渡すことは、コンテキストから一致するオブジェクトを選択することを意味します。それが渡されない場合、スコープはドキュメント オブジェクト (つまり、オブジェクト上のすべてのオブジェクト) であることを意味します。ページ)、つまり $(セレクター)=$ (セレクター,ドキュメント)。

これは、関数を呼び出す HTML オブジェクトを指します。

例:

コードをコピーします コードは次のとおりです:

$("#textbox").hover(
function() {
This.title = "テスト"
; }、
function() {
This.title = "OK"
}
);

これは実際には HTML 要素 (テキストボックス) であり、これは js にあります。テキストボックスにはtext属性があるのでこのように書いても問題ありません。

コードをコピーします コードは次のとおりです:

$("#textbox").hover(
function() {
$(this).title = "テスト"
; }、
function() {
$(this).title = "OK"
} );

ここの$(this)はJQueryオブジェクトであり、jQueryオブジェクトにはtitle属性がないので、これを書くのは間違いです。

結論:

これは、現在のコンテキストオブジェクトが html オブジェクトであり、html オブジェクトが所有するプロパティとメソッドを呼び出すことができることを示します。

$(this) で表されるコンテキスト オブジェクトは、jquery メソッドと属性値を呼び出すことができる jquery コンテキスト オブジェクトです。

インスタンス (タブ):

コードをコピーします コードは次のとおりです:
tabs($("#nav a"), $(".content")); 関数タブ(タブ、コンテンツ){
content.hide();
content.eq(0).show();
tab.click(function(){
varindex = tab.index(this);
tab.removeClass("current");
$(this).addClass("current");
content.hide();
content.eq(index).animate({opacity:'show'}, 200);
});
}


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