所以我想要实现的是以下代码计算siblings
,但停在不符合要求的sibling
。
因此,举例来说波纹示例而不是计数中的6,它将返回4,因为它会从活动计数到第一个fieldset
而不是percent class
。
类似于:$("fieldset.active").andSelf().siblings('fieldset.percent').stop().not('.percent').length;
Bellow是代码的工作起点。
var jump = $("fieldset.active").andSelf().siblings('fieldset.percent').length;
$('.result').html('Counted: '+jump);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<fieldset>
0 - dont Count
</fieldset>
<fieldset class="active">
1 - count me
</fieldset>
<fieldset class="percent">
2 - count me
</fieldset>
<fieldset class="percent">
3 - count me
</fieldset>
<fieldset class="percent">
4 - count me
</fieldset>
<fieldset>
5 Stop here - dont Count
</fieldset>
<fieldset class="percent">
6 - dont Count
</fieldset>
<fieldset class="percent">
7 - dont Count
</fieldset>
<fieldset>
8 - dont Count
</fieldset>
<fieldset class="percent">
9 - dont Count
</fieldset>
<div class="result"></div>
答案 0 :(得分:2)
根据您当前的代码,您可以使用:
$("fieldset.active")
.first() // Select the first active class
.nextUntil(':not(fieldset.percent)') // Select all field after untill you hit a field that doesn't have .percent class
.addBack() // Add the first element
.length; // Get the length
当然,根据您的确切代码,还有其他变量。这适用于给定的代码段。
答案 1 :(得分:0)
请注意,自jQuery 1.8以来,tstrsplit
已被弃用(您使用的是jQuery 1.9)。请改用andSelf()
。
考虑到这一点,你可以这样做:
addBack()
var jump = $("fieldset.active:eq(0)").nextUntil(':not(.percent)').addBack().length;
$('.result').html('Counted: '+jump);