Jquery 对同一类的连续元素进行计数,直到出现另一个类

Jquery 对同一类的连续元素进行计数,直到出现另一个类,jquery,dom,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

我有以下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>


在任何其他类出现之前,我想知道countmediv的数量
$('.countme')。length
不起作用,因为它给出的结果是6,而我期望的结果当然应该是3

获取第一个,然后获取下一个,直到其他事情发生,然后再将第一个加回去

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

您可以尝试以下方法:

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

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

    });
    alert(count);
})

为什么
.addBack()
?只需
.length+1
。当选择
nextUntil
时,
first()
被丢弃,新的选择器和所有的选择器都被丢弃,所以我必须将其重新添加?我想他的意思是为什么不在结果中添加
1
。虽然它会错误地导致空集合的
1
。@BlackSheep-哦,当然,只需在长度上加1也是一样的,但是如果OP或其他搜索人员决定将其用于其他内容,则所有内容都以这种方式存在于集合中。欢迎访问该网站!请考虑添加解释;当答案包含解决方案和解释时,它们是最有用的。谢谢。。。埃德·科特雷尔。问题是我英语说得不多呵呵。。。但我会尽力帮你解释……)