jquery $实际上返回了什么?

时间:2009-08-19 20:23:38

标签: jquery

我已经阅读了JQuery文档,虽然很多注意力都集中在传递函数的内容上,但我没有看到任何关于它实际上返回的信息

特别是,它总是返回一个数组,即使只找到一个元素?没有找到任何东西时它会返回null吗?这记录在哪里?

我知道jquery方法可以应用于返回值,但是如果我想直接使用返回值呢?

9 个答案:

答案 0 :(得分:71)

来自Rick Strahl's description

  

jQuery对象:包装集:   选择器返回已知的jQuery对象   作为“包裹集”,这是一个   类似于数组的结构,包含所有   选定的DOM元素。您可以   迭代包裹的集合像   数组或访问单个元素   通过索引器($(sel)[0]表示   例)。更重要的是,你可以   也适用于jQuery函数   所有选定的元素。

关于什么都不返回:

  

它总是返回一个数组吗?它会返回null吗?

你总是得到同样的回报,无论是否有任何内容都是问题。通常你可以使用.val()来检查这个(例如$('。myElem')。val())

答案 1 :(得分:24)

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

它永远不会返回null或其他类型。如果找到一个元素,则jQuery对象将只有一个子元素。如果没有找到任何元素,则jQuery对象将为空。

答案 2 :(得分:5)

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

答案 3 :(得分:5)

正如另一位回答者所提到的那样,总是会返回jQuery对象。

此对象始终包含元素数组(即使它是一个空数组,或只包含一个对象的数组)。

如果您想“直接”使用返回的对象,例如,作为普通元素,您可以执行以下操作之一:

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

答案 4 :(得分:3)

来自jQuery documentation

  

jQuery对象本身就像一个数组;它有一个length属性,对象中的元素可以通过它们的数字索引[0]到[length-1]来访问。请注意,jQuery对象实际上不是Javascript Array对象,因此它没有真正的Array对象的所有方法,例如join()。

答案 5 :(得分:2)

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

答案 6 :(得分:0)

根据firebug,它返回一个与你的选择器匹配的对象数组。但是这个数组是一个jQuery对象,比简单的数组更多的方法。

答案 7 :(得分:0)

Their documentation列出了一些可以与“$”一起使用的核心调用以及它们返回的内容

答案 8 :(得分:0)

Jquery选择机制

$(" .."),jquery选择器,用于选择匹配的元素。

返回值

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

对返回的jquery对象调用方法

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

按索引访问原始元素

所选元素,作为对象的属性存储,其属性名称是从0开始的索引号,
因此可以通过索引访问,从0开始,
获得原始元素后,您可以将其视为" document.getElementXxx()"。

将原始元素包装到jquery对象

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