1

この質問では、次のコードが使用されています-

var parent = $("#jcontent"); 
var button1 = $(".button1", parent) ;

button1idの親内のクラスのボタンを選択しますjcontent

なぜこれが機能するのですか?jQueryオブジェクトをパラメーターとしてjQueryセレクターに渡すと、そのオブジェクト内で選択するようにどのように指示されますか?誰かがこの機能を説明するドキュメントにリンクできますか?

4

2 に答える 2

6

これは、コアメソッド呼び出しcontextのパラメーターです。

パラメータは次のように記述されます。

コンテキストとして使用するDOM要素、ドキュメント、またはjQuery

そして、「セレクターコンテキスト」というラベルの付いたセクションがあります。これは次で始まります。

デフォルトでは、セレクターはドキュメントルートから始まるDOM内で検索を実行します。ただし、$()関数のオプションの2番目のパラメーターを使用して、検索に代替コンテキストを指定できます。

于 2012-06-20T20:05:31.417 に答える
5

2番目のパラメーターはセレクターコンテキストです。セレクターが一致するDOM要素、ドキュメント、またはjQueryオブジェクトです。このパラメータがない場合、ドキュメントルートが想定されます。

次のステートメント:

var button1 = $(".button1", parent); // parent = $("#jcontent")

**を書くのと同じです:

var button1 = parent.find(".button1"); // parent = $("#jcontent")

そして(この場合)これと同じ結果を生成します:

var button1 = $("#jcontent .button1");

**ここで述べたように:

内部的には、セレクターコンテキストは.find()メソッドで実装されるため、$('span'、this)は$(this).find('span')と同等です。

于 2012-06-20T20:07:51.077 に答える