根据数据属性值获取元素数量

时间:2013-02-10 18:12:53

标签: javascript jquery

应该是一件简单的事情,但我没有在哪里。

我想获得具有给定数据属性值的元素数量。

我有一些带有各种data-size ='values'的html元素。需要获得每个值的项目数。

如果你看下面的代码,我想得到'p'尺寸和'l'尺寸的数量

$('.overview li img').each(function () {

var s = $(this).data('size');

switch (s) {
    case 'p':
        r = 0.66667
        break;
    case 'l':
        r = 1.5
        break;
}

var imgW = $(this).css({
    width: h * r + 'px'
});

})

任何帮助非常感谢

欢呼声 戴夫

2 个答案:

答案 0 :(得分:2)

您可以创建一个查找data-size ='p'或data-size ='l'的选择器

var pCount = $(".overview li img[data-size='p']").length
var lCount = $(".overview li img[data-size='l']").length

此外,您可以使用选择器来消除switch语句,以便仅使用data-size ='p'或data-size ='l'循环遍历元素。

答案 1 :(得分:2)

使用一些计数器:

 var pCount = 0 
     ,lCount = 0;

 $('.overview li img').each(function () {
    //-----------
    case 'p':
        r = 0.66667; 
        pCount++;        //counter of 'p'
        break;
    case 'l':
        r = 1.5;
        lCount++;        //counter of 'l'
        break;
    //----

 });

 console.log( pCount, lCount );