4

jQueryプラグインを作成しているときに、私は多くの用途を見つけました

var obj = $(this);     
$("li:even", obj)

現在のアイテムを選択します。これはどのように作動しますか?jQueryスニペットを書いている間、私は書いていたからです

 $(this).find("li");

誰かが理解を深めるために説明できますか? このコードへの参照はこちらです。

4

2 に答える 2

4

二人は同じことをします。実際、十分に深く掘り下げると、 が$("li:even", obj)呼び出されることがわかりますobj.find("li:even")

$()関数(の変形)が DOM 内の要素を検索することはおそらくご存知でしょう。その 2 番目の引数を受け入れるフォームは、開始点を与えるだけであり、2 番目の引数として指定した jQuery セット内の要素の子孫のみを探すように指示します。もちろん、これは何をするかfindです。

jQuery のメイン開発者の 1 人がイシュー チケットで$()、出発点を受け入れるバージョンを削除することを検討しているというコメントを見たのを覚えています。

于 2013-03-28T09:14:42.343 に答える
3

$("li:even", obj)

上記のステートメントでcontextは、セレクターに渡されます。これは等しい$(this).find("li:even");

jQuery のドキュメントによると、セレクターの構文はjQuery( selector [, context ] ) です。

4 つすべてが同じ結果をもたらします。

var obj = $(this);
$("li:even", obj) 

また

$("li:even", this) 

また

$("li:even", $(this)) 

また

$(this).find("li:even");
于 2013-03-28T09:14:36.327 に答える