2013-03-11 25 views
5

Bu sadece hızlı bir (umarım).

Geçenlerde bir iletişim http://jqueryui.com/dialog/#modal-form içindeki formunu kullanarak bakmak için jQuery UI iletişim sayfalarına üzerine oldum ve önce görmemişti bazı kodlar fark: Sadece merak ediyorum

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

neyi $ ([]) demek? İlk başta

Ben jquery bir dizi oluşturmak için bir yol olduğunu düşündüm ama çalıştığınızda: değişken başka bir şey bildirilmiş

allFields.add(input4) 

sonra ekleniyor?!?

Herhangi bir yardım büyük takdir! :) Bunu yapmaya çalıştım, ancak fazla şansım yok. sorunuzu

cevap

4

dönüş değerine değişkeni eşit ediyoruz . Böyle bir diziden geçmek, döndürülen bu öğeleri içeren yeni bir jQuery nesnesine neden olacaktır. Bu durumda boş bir diziyi geçirirler, bu yüzden sıfır öğeleri içeren bir jQuery nesnesi döndürür.

.add() işlevi, varolan bir kümeye daha fazla öğe ekler.

Yani $([]) hiçbir öğe içeren bir jQuery nesnesi, .add('#input1') o sete input1 bir id ile eleman eklersiniz oluşturur. Öğe zaten mevcut olduğundan .add('#input1')'u tekrar aramak hiçbir şey eklemez.

+0

Teşekkürler, Anthony. Aslında bir php komut dosyasına gönderdim ve başlangıçta eklenen tüm değerleri geri verdim. Başka bir öğe eklemeyi denediğimde, ör. var allFields = $ ([]). add (input1) .add (input2); allfields.add (input3) sadece 3 yerine 2 orijinal değer döndürdü? –

+0

@RossWilson 'input1',' input2' ve 'input3' nedir? –

+2

@RossWilson: 'add' yöntemi yeni bir set oluşturur ve onu döndürür. "AllFields" ı yeniden atamanız gerekir: "allFields = allFields.add (input3)" –

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

Eğer .Add() yöntemiyle jQuery() işlevi DOM öğeleri bir dizi bunlardan biri farklı argümanlar bir dizi kabul