首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery -计数元素,直到到达特定元素并停止计数为止。

jQuery -计数元素,直到到达特定元素并停止计数为止。
EN

Stack Overflow用户
提问于 2017-05-03 12:53:23
回答 2查看 722关注 0票数 0

因此,我想要实现的是,下面的代码计算siblings,但停留在不符合要求的sibling上。

例如,下面的示例不是在计数中获得6,而是返回4,因为它将计数从活动到第一个没有percent classpercent class

类似于:$("fieldset.active").andSelf().siblings('fieldset.percent').stop().not('.percent').length;

Bellow是代码的工作起点。

代码语言:javascript
运行
复制
var jump = $("fieldset.active").andSelf().siblings('fieldset.percent').length;

$('.result').html('Counted: '+jump);
代码语言:javascript
运行
复制
<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>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-03 13:00:33

根据当前代码,可以使用以下内容:

代码语言:javascript
运行
复制
$("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
EN

Stack Overflow用户

发布于 2017-05-03 13:03:36

请注意,自andSelf() 1.8 (而且您使用的是jQuery 1.9)以来,jQuery就不再受欢迎了。使用addBack()代替。

考虑到这一点,你可以:

代码语言:javascript
运行
复制
var jump = $("fieldset.active:eq(0)").nextUntil(':not(.percent)').addBack().length;

$('.result').html('Counted: '+jump);
代码语言:javascript
运行
复制
<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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43760624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档