2009-09-30 32 views
10

Sayfamda, arka uç programlamaya dayalı olarak benzersiz tanımlayıcılara sahip sınıflara ait bir dizi öğe var. Böyle Aşağıdaki olabileceğini:jQuery: Sınıfın benzersiz örneklerini sayma

<element class="element-1"></element> 
<element class="element-1"></element> 
<element class="element-2"></element> 
<element class="element-2"></element> 
<element class="element-3"></element> 
<element class="element-3"></element> 

ne olursa olsun fonksiyonu olduğunu 3 döneceğini yapacağını yüzden jQuery ile bu sınıf isimlerinin benzersiz olaylar sayabilirsiniz bir yolu var mı?

+5

Evet: 'fonksiyon COUNTUNIQUE (eleman) {return 3}' –

+0

Hayır cidden, bunu nasıl örnek sayım cevap olarak 3 elde ettiniz? Her sınıfın 2'si olduğu için 2 tane bekleyeceğini tahmin ederdim. –

+0

Her bir sınıfa kaç elemanın ait olduğu değil, üç ("element-1", "element-2", "element-3") olduğu benzersiz sınıf adlarının varlığını saymak istiyorum. – neezer

cevap

5
var obj = {}; 
var num = 0; 
$("element[class^=element]").each(function() { 
    var cl = $(this).attr("class"); 
    if(!obj[cl]) { 
    obj[cl] = {}; 
    num++; 
    } 
}); 
alert(num); 
+0

Harika, teşekkürler! – neezer

+0

jQuery belgelerini okudum, neden hala işe yaradığını anlayamıyorum? – MeLight

+1

1 satırda uyarı yapılabilir ($ ("element [class^= element]"). Length); ' – XIMRX

56

cevap çok basittir: $("element.element-1").length;

+1

Doğru cevabınız olarak buna sahip olmalısınız :-) –

İlgili konular