jQuery: 统计类的唯一出现次数

10

我在页面上有许多元素,它们属于带有唯一标识符的类,这是基于我的后端编程而确定的。例如,可能会有以下内容:

<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
是的:function countUnique(element) { return 3 } - Crescent Fresh
不开玩笑,你是怎么数出那个例子的答案是3的?我本来以为你期望得到2,因为每个班级都有2个。 - Crescent Fresh
我想计算唯一类名的出现次数,其中有三个("element-1","element-2","element-3"),而不是每个类中有多少元素。 - neezer
2个回答

56
答案非常简单:$("element.element-1").length;


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

我已经阅读了jQuery文档,但仍然不明白为什么它能够工作? - MeLight
1
可以在一行代码中完成:alert($("element[class^=element]").length); - XIMRX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接