2009-09-30 9 views
10

की अनूठी घटनाओं की गणना करें मेरे बैकएंड प्रोग्रामिंग के आधार पर मेरे पृष्ठ पर कई तत्व हैं जो अद्वितीय पहचानकर्ताओं के साथ कक्षाओं से संबंधित हैं। इस तरह मैं निम्नलिखित हो सकता है:jQuery: कक्षा

<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> 

वहाँ एक रास्ता मैं, jQuery के साथ इन classnames की अनूठी घटनाओं भरोसा कर सकते हैं ताकि जो कुछ भी समारोह करना होगा कि 3 वापसी होगी है?

+5

हाँ: 'समारोह countUnique (तत्व) {वापसी 3}' –

+0

कोई गंभीरता से, आप कैसे 3 कि उदाहरण के गिनती के जवाब के रूप मिला? मैंने अनुमान लगाया होगा कि आप 2 उम्मीद करते हैं क्योंकि प्रत्येक वर्ग में से 2 मौजूद हैं। –

+0

मैं अद्वितीय वर्ग नामों की उपस्थिति को गिनना चाहता हूं, जिनमें से तीन ("तत्व -1", "तत्व -2", "तत्व -3") हैं, न कि प्रत्येक वर्ग के कितने तत्व हैं। – neezer

उत्तर

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

बहुत बढ़िया, धन्यवाद! – neezer

+0

मैंने jQuery दस्तावेज़ पढ़ा है, अभी भी समझ में नहीं आता कि यह क्यों काम करता है? – MeLight

+1

1 लाइन 'चेतावनी ($ ("तत्व [वर्ग^= तत्व]") में किया जा सकता है);' – XIMRX

56

जवाब बहुत सरल है: $("element.element-1").length;

+1

आपके पास यह सही उत्तर के रूप में होना चाहिए :-) –

संबंधित मुद्दे