计算同一类的连续元素,直到出现另一个类

时间:2014-02-06 19:37:16

标签: jquery dom

我有以下HTML:

<div class="wrapper">
  <div class="countme"> </div>
  <div class="countme"> </div>
  <div class="countme"> </div>
  <div class="stophere"> </div>
  <div class="whatever"> </div>
  <div class="countme"> </div>
  <div class="countme"> </div>
  <div class="countme"> </div>
</div>

我想知道在任何其他课程出现之前 countme div的数量。 $('.countme').length不起作用,因为当我期望的结果当然应 3 时,它会产生 6 的结果。

2 个答案:

答案 0 :(得分:7)

获取第一个,然后获取下一个,直到发生其他事情,然后添加第一个

$('.countme').first().nextUntil(':not(.countme)').addBack().length

FIDDLE

答案 1 :(得分:1)

您可以尝试这样的事情:

$(function() {
    var count = 0;
    $(".wrapper div").each(function(){

        if($(this).attr('class') == 'countme'){
           count++;
        }else{
            if(count > 0){
               return false;
            }
        }

    });
    alert(count);
})

FIDDLE