5

这只是一个快速的(我希望)。

我最近在 jquery ui 对话框页面上查看在对话框中使用表单http://jqueryui.com/dialog/#modal-form并且我注意到一些我以前没有见过的代码:

var allFields = $([]).add(#input1).add(input2).add(input3)....

我只是想知道 $([]) 是什么意思?

起初我认为这是在 jquery 中创建数组的一种方法,但是当我尝试时:

allFields.add(input4)

声明变量后没有添加任何其他内容?!?

任何帮助将不胜感激!:) 我试过用谷歌搜索这个,但是,我运气不好。

4

2 回答 2

4

jQuery()函数接受许多不同的参数,其中一个是 DOM 元素数组。传递这样一个数组将导致返回一个包含这些元素的新 jQuery 对象。在这种情况下,他们传递一个空数组,因此它返回一个包含零个元素的 jQuery 对象。

.add()函数将向现有集合添加更多元素。

因此,$([])创建一个不包含任何元素的 jQuery 对象,.add('#input1')将带有idof的元素添加input1到该集合中。再次调用.add('#input1')不会添加任何内容,因为该元素已经存在。

于 2013-03-11T16:47:09.830 回答
0
var allFields = $([]);
allFields.add()

在您的问题中,您将变量等同于 .add() 方法的返回值

于 2013-03-11T16:44:01.197 回答