2009-09-30 31 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的唯一事件,所以,無論功能會做,將返回3

+5

是:'函數COUNTUNIQUE(元素){回報3}' – 2009-09-30 19:39:44

+0

不認真,你怎麼3的回答爲計數這個例子?我猜你會預期2,因爲每個班有2個在場。 – 2009-09-30 19:40:21

+0

我想統計獨特類名的存在,其中有三個(「元素-1」,「元素-2」,「元素-3」),而不是每個類有多少個元素。 – neezer 2009-09-30 19:43:11

回答

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 2009-09-30 19:53:33

+0

我讀過jQuery文檔,仍然無法理解爲什麼這有效? – MeLight 2010-08-11 11:42:26

+1

可以在1行'alert($(「element [class^= element]」)。)length);' – XIMRX 2014-07-10 08:47:11

56

答案是簡單得多:$("element.element-1").length;

+1

你應該有這個作爲正確答案:-) – 2013-03-29 12:52:14