0

当我像往常一样调用 $ 函数时只传递了选择器:

  $("p");

正如预期的那样,返回用 fn.prototype 方法包装的 jQuery 对象。该对象也是具有一个属性的 Array - 选择器上下文。

但是,当我改变上下文时:

$("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 回答