Jquery 对同一类的连续元素进行计数,直到出现另一个类
我有以下HTML: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
<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或其他搜索人员决定将其用于其他内容,则所有内容都以这种方式存在于集合中。欢迎访问该网站!请考虑添加解释;当答案包含解决方案和解释时,它们是最有用的。谢谢。。。埃德·科特雷尔。问题是我英语说得不多呵呵。。。但我会尽力帮你解释……)