【发布时间】:2009-08-19 20:23:37
【问题描述】:
我已经阅读了 JQuery 文档,虽然非常关注应该传递函数的内容,但我没有看到任何关于它实际返回的信息 .
特别是,它是否总是返回一个数组,即使只找到一个元素?当什么都没有找到时它是否返回null?这是在哪里记录的?
我知道jquery方法可以应用于返回值,但是如果我想直接使用返回值呢?
【问题讨论】:
标签: jquery
我已经阅读了 JQuery 文档,虽然非常关注应该传递函数的内容,但我没有看到任何关于它实际返回的信息 .
特别是,它是否总是返回一个数组,即使只找到一个元素?当什么都没有找到时它是否返回null?这是在哪里记录的?
我知道jquery方法可以应用于返回值,但是如果我想直接使用返回值呢?
【问题讨论】:
标签: jquery
jQuery 对象:包装集: 选择器返回一个已知的 jQuery 对象 作为“包装集”,这是一个 类数组结构,包含所有 选定的 DOM 元素。你可以 像 数组或访问单个元素 通过索引器 ($(sel)[0] for 例子)。更重要的是,你可以 还对 jQuery 函数应用 所有选定的元素。
关于什么都不返回:
它总是返回一个数组吗?它返回 null 吗?
你总是得到同样的东西,它是否有任何内容是个问题。通常,您可以使用 .val() 来检查这一点(例如 $('.myElem').val())
【讨论】:
它不返回一个数组,它返回一个 jQuery 对象。 jQuery 对象包含所有特殊的 jQuery 方法。
它永远不会返回 null 或其他类型。如果找到一个元素,则 jQuery 对象将只有一个子元素。如果没有找到元素,则 jQuery 对象将为空。
【讨论】:
正如另一个回答者提到的,它总是返回 jQuery 对象。
这个对象总是包含一个元素数组(即使它是一个空数组,或者一个只有一个对象的数组)。
如果您想“直接”使用返回的对象,例如作为普通元素,您可以执行以下操作之一:
$('selector')[0] // element
$('selector').get(0) // element
$('selector').length // number of elements in the array
【讨论】:
jQuery 函数(即“$”)总是在每个实例中返回一个 jQuery 对象。
【讨论】:
$ 与“jQuery 对象”,又名“包装集”。
jQuery 对象本身的行为很像一个数组;它有一个长度属性,对象中的元素可以通过它们的数字索引 [0] 到 [length-1] 访问。请注意,jQuery 对象实际上并不是 Javascript Array 对象,因此它没有真正的 Array 对象的所有方法,例如 join()。
【讨论】:
$() 总是返回 jQuery 函数这一事实让您可以明智地链接 jQuery 函数调用。
【讨论】:
$() 不返回 jQuery 函数(即 $ 本身),而是返回一个包含所有有用方法的包装集。
Jquery 选择器机制
$(".."),jquery 选择器,用于选择匹配的元素。
返回值
它总是返回一个类似数组的 jquery 对象,它有一个length 属性,
在返回的 jquery 对象上调用方法
可以在对象上调用jquery的方法,并应用于那些被选中的元素,
按索引访问原始元素
被选中的元素,作为对象的属性存储,它们的属性名是从0开始的索引号,
因此可以通过索引访问,从 0 开始,
获取原始元素后,可以将其视为通过document.getElementXxx()获取。
将原始元素包装到 jquery 对象中
获取原始元素后,可以将其包装成jquery对象,调用$(originalEle),
然后你可以在包装的对象上调用 jquery 方法。
【讨论】:
根据 firebug,它返回一个与您的选择器匹配的对象数组。但是这个数组是一个 jQuery 对象,比一个简单的数组有更多的方法。
【讨论】:
Their documentation 列出了一些您可以与“$”一起使用的核心调用以及它们返回的内容
【讨论】: