2011-05-17 19 views
5

here tarif edildiği gibi, aşağıdaki sözdizimini son zamanlarda kullandım jQuery nesneleri oluşturmak:Özniteliklere sahip bir jQuery nesnesi oluşturmanın tercih edilen yolu nedir?

var $el = $('<div/>', { 
    class: 'class-1 class-2' 
}); 

Safari 5.0.5 Yukarıdaki yapı kullanmak noktada sözdizimi hata verir.

İkinci bağımsız değişkenin kaldırılması ve addClass ile sınıfların eklenmesi, hatayı kaldırır, ancak tamamen bağımsız görünüyor.

Nesnelerinizi nasıl yaratıyorsunuz? Ayrıca attr ({class: 'class-1'}) ile denedim, ancak aynı sözdizimi hatası aldı.

+1

kelimesini "sınıfı" içinde koyarsanız Tek veya çift tırnak, iyi çalışır. – Pointy

cevap

7

class; bu ayrılmış bir kelime. yerine

Kullanım className: class yana

var $el = $('<div/>', { 
    className: 'class-1 class-2' 
}); 
+3

Teklif verirseniz "sınıf" ı kullanabilirsiniz. – Pointy

+0

Ah, elbette! Çok teşekkürler. Daha fazla araştırma yaptıktan sonra farklı eleman oluşturma yapıları için bu performans testini buldum: http://jsperf.com/create-element-with-attributes-jquery-1-4-object-vs-att/2 Yukarıdaki sözdizimi görünmüyor. En iyi performans bilge. – vorpyg

1

ayrılmış bir sözcüktür, tırnak içine koymak gerekir.

var $el = $('<div/>', { 
    "class": 'class-1 class-2' 
}); 
1

Sen class gibi bir hata ayrılmış bir anahtar kelimedir olsun.

var $el = $('<div/>', { 
    'class': 'class-1 class-2' 
}); 
3

nitelik bir dize isim yapın: Bir özellik adı ayrılmış bir anahtar kelime olduğunda tanımlayıcı olarak bir dize kullanabilirsiniz

var $el = $('<div/>', { 
    'class': 'class-1 class-2' 
}); 

JSFiddle Example

İlgili konular