2009-09-30 22 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> 

どんな機能はそれが3を返すだろうように、私は、jQueryを使ってこれらのクラス名のユニークな発生をカウントすることができます方法はありますか?

+5

はい: '関数COUNTUNIQUE(要素){リターン3}はありません真剣' –

+0

、どのようにその例を数えるへの答えとして3を得たのですか? 2つのクラスがあるので、2つを期待していたでしょう。 –

+0

私は、各クラスにどれくらいの要素が属しているのではなく、3つの要素( "要素-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行 'alert($(" element = class = element "))); – XIMRX

56

答えは非常に簡単です:$("element.element-1").length;

+1

で正しいことをする必要があります:-) –

関連する問題