如何使用jquery从element获取类

时间:2010-12-22 09:28:30

标签: javascript jquery count

您好我有一组元素。他们在一个元素上有几个类。

 <div class="color1 chaire">&nbsp;</div>
 <div class="color11 chaire">&nbsp;</div>
 <div class="color1 chaire">&nbsp;</div>
 <div class="color12 chaire">&nbsp;</div>
 <div class="color2 chaire">&nbsp;</div>
 <div class="color2 chaire">&nbsp;</div>
 <div class="color2 chaire">&nbsp;</div>
 <div class="color2 chaire">&nbsp;</div>
 <div class="color23 chaire">&nbsp;</div>
 <div class="color23 chaire">&nbsp;</div>
 <div class="color3 chaire">&nbsp;</div>
 <div class="color3 chaire">&nbsp;</div>
 <div class="color3 chaire">&nbsp;</div>
 <div class="color3 chaire">&nbsp;</div>
 <div class="color4 chaire">&nbsp;</div>

我想计算每个 colorX div的数量是多少?

我需要像以下结构:

color1 : 2
color2 : 4
color3 : 4
color4 : 1
color11 : 1
color12 : 1
color23 : 2

我写代码:

function countvalues(a) {
    var b = {}, i = a.length, j;

    while( i-- ) {
      j = b[a[i]];
      b[a[i]] = j ? j+1 : 1;
    }
    return b;
}

var coalition = new Array();    
var elements = $(".chaire").not(".notactive");
    elements.each(function () {
       var  class = $(this).attr("class");
       class = class.substring(0, class.indexOf(" "));
       coalition.push(class);
 });

   b = countvalues(coalition);

也许有更容易的方法来做到这一点?

2 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

$('div[class^="color"]').length;

答案 1 :(得分:1)

$("div[class^=color]").size();