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