2013-03-11 9 views
5

これは単なる速いものです(私は願っています)。

私は最近、ダイアログhttp://jqueryui.com/dialog/#modal-form内のフォームを使用して見にjqueryのUIダイアログページへにしてきたと私は私が前に見ていないいくつかのコードに気づい:私は何を思っていた

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

を$([])の意味ですか?

最初に私はそれがjqueryの中に配列を作成するための方法だと思ったが、私はしようとすると:

allFields.add(input4) 

変数は他に何も追加されていないと宣言された後?!?

ご協力いただければ幸いです! :) 私はこれをグーグルで試してみましたが、私は運があまりありません。あなたの質問で

答えて

4

の戻り値に変数を等しくしています。そのような配列を渡すと、それらの要素を含む新しいjQueryオブジェクトが返されます。この場合、空の配列を渡しているので、ゼロ要素を含むjQueryオブジェクトが返されます。

.add()関数は、既存のセットに要素を追加します。

したがって、$([])は要素を含まないjQueryオブジェクトを作成し、idの要素をそのセットに追加します。input1要素がすでに存在するため、.add('#input1')を呼び出すと何も追加されません。

+0

ありがとう、アンソニー。私はもともとphpスクリプトに投稿し、最初に追加されたすべての値を返しました。たとえば、他の要素を追加しようとしました。 var allFields = $([])。add(input1).add(input2); allfields.add(input3)はすべて3ではなく元の2つの値を返すだけですか? –

+0

@RossWilson 'input1'、' input2'、および 'input3'とは何ですか? –

+2

@RossWilson: 'add'メソッドは新しいセットを作成し、それを返します。あなたは 'allFields'を再割り当てする必要があります:' allFields = allFields.add(input3) ' –

0
var allFields = $([]); 
allFields.add() 

ます.add()メソッドjQuery()関数はDOM要素の配列がそのうちの1つは異なる引数の数を、受け入れ