jQuery $实际上返回什么?

我已经阅读了JQuery文档,尽pipe很多的关注是关于你应该传递函数的,但是我没有看到它实际返回的信息

特别是,它总是返回一个数组,即使只有一个元素被发现? 没有发现什么时它返回null? 这在哪里logging?

我明白,jQuery的方法可以适用于返回值,但如果我想直接使用返回值呢?

从里克斯特拉尔的描述 :

jQuery对象:包装集:select器返回一个名为“包装集”的jQuery对象,这是一个包含所有选定DOM元素的数组结构。 你可以像遍历数组一样遍历包装集合,或者通过索引器(例如$(sel)[0])访问各个元素。 更重要的是,您也可以对所有选定的元素应用jQuery函数。

关于什么都不返回

它总是返回一个数组? 它是否返回null?

你总是得到同样的东西,不pipe它有没有什么内容就是问题。 通常你可以使用.val()来检查(例如$('。myElem').val())

它不返回一个数组,它返回一个jQuery对象。 jQuery对象是包含所有特殊jQuery方法的东西。

它永远不会返回null或其他types。 如果find一个元素,jQuery对象将只有一个孩子。 如果没有find元素,jQuery对象将是空的。

jQuery函数(即“ $ ”)总是在每个实例中返回一个jQuery对象。

正如另一个回答者所提到的,它总是返回jQuery对象。

这个对象总是包含一个元素数组(即使它是一个空数组,或只有一个对象的数组)。

如果您想直接使用返回的对象(如in),则可以执行以下操作之一:

 $('selector')[0] // element $('selector').get(0) // element $('selector').length // number of elements in the array 

从jQuery文档 :

jQuery对象本身的行为很像一个数组; 它具有length属性,对象中的元素可以通过数字索引[0]到[length-1]进行访问。 请注意,一个jQuery对象实际上并不是一个Javascript数组对象,所以它没有像join()这样的真正的数组对象的所有方法。

$()总是返回jQuery函数的事实可以让你明智地链接jQuery函数调用。

根据萤火虫,它返回一个匹配您的select器的对象数组。 但是这个数组是一个jQuery对象,比简单的数组多了一些方法。

他们的文档列出了一些核心调用,您可以使用“$”和他们返回的内容

jqueryselect器机制

$(“..”),jqueryselect器,用于select匹配的元素。

返回值

它总是返回一个类似数组的jquery对象,它有一个“length”属性,

在返回的jquery对象上调用方法

jquery的方法可以在对象上调用,并应用于这些选定的元素,

按索引访问原始元素

所选的元素是作为对象的属性存储的,它们的属性名称是从0开始的索引号,
从而可以通过索引访问,从0开始,
获得原始元素后,可以像处理“document.getElementXxx()”那样对待它。

将一个原始元素包装成一个jquery对象

获得原始元素后,可以将其包装为jquery对象,
通过调用$(originalEle),
那么你可以在包装对象上调用jquery方法,