0

セレクターのみを渡して通常どおり$関数を呼び出すと、次のようになります。

  $("p");

予想どおり、fn.prototypeメソッドでラップされたjQueryオブジェクトを返します。そのオブジェクトも、1つのプロパティ(セレクターコンテキスト)を持つ配列です。

しかし、コンテキストを変更すると、次のようになります。

$("p",document.getElementsByTagName("h1")[0]);

jQueryは空の配列を返しますか?何故ですか ?セレクターコンテキストドキュメントでない場合に何かが起こると思いますが、何がわかりません。

この行の答えはありますか?

context = context instanceof jQuery ? context[0] : context;
4

1 に答える 1

1

あなたがしていることは

$("h1:first").find("p"); 

これにより、H1 タグ内のすべての P オブジェクトが検索されます。オブジェクトが見つからないため、空の配列が返されます。指定されたセレクターのオブジェクトが見つからない場合、jQuery は常に空の配列を返します。

于 2013-03-03T12:26:40.153 に答える