$([])在jQuery中意味着什么

MD *_*med 5 jquery

我遇到了以下jQuery代码但无法理解它.下面的代码是什么,特别是最后一行中的"$([])"部分是什么意思?

var instrument = $("#instrument"),
    quantity = $("#quantity"),
    orderType = $("#orderType"),
    price = $("#price"),
    validityDate = $("#validityDate"),
    allFields = $([]).add(instrument).add(quantity).add(orderType).add(price).add(validityDate)
Run Code Online (Sandbox Code Playgroud)

And*_*ndy 10

看起来它正在定义一个数组,然后添加()将DOM元素添加到它.从手册:

给定一个表示一组DOM元素的jQuery对象,.add()方法从这些元素的并集和传递给方法的元素构造一个新的jQuery对象..add()的参数几乎可以是$()接受的任何内容,包括jQuery选择器表达式,对DOM元素的引用或HTML片段.

[]是一个空的javascript数组.正如frunsi所说,这不是正确的用法,并且[]定义不需要创建一组空的元素,在1.4中$()将为你做.


Fru*_*nsi 7

它创建一个空的jQuery集.这种用法是错误的,虽然它可能有效.这[]是多余的.

正确就是这样$().

返回空集

从jQuery 1.4开始,调用不带参数的jQuery()方法会返回一个空的jQuery集.在以前版本的jQuery中,这将返回包含文档节点的集合.

http://api.jquery.com/jQuery/