因此,我想要实现的是,下面的代码计算siblings,但停留在不符合要求的sibling上。
例如,下面的示例不是在计数中获得6,而是返回4,因为它将计数从活动到第一个没有percent class的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>。
发布于 2017-05-03 13:00:33
根据当前代码,可以使用以下内容:
$("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当然,取决于您的确切代码,还有其他变量。这适用于给定的片段。
发布于 2017-05-03 13:03:36
请注意,自andSelf() 1.8 (而且您使用的是jQuery 1.9)以来,jQuery就不再受欢迎了。使用addBack()代替。
考虑到这一点,你可以:
var jump = $("fieldset.active:eq(0)").nextUntil(':not(.percent)').addBack().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>
https://stackoverflow.com/questions/43760624
复制相似问题