jQuery count元素从0开始?

时间:2017-04-18 10:06:00

标签: javascript jquery

我正在尝试计算页面上的元素但是我需要数字从0开始而不是1。

我知道我可以做var tadada = $('.clickableDiv').length;

但这会从1返回数字。

这可以使用jquery或javascript吗?

2 个答案:

答案 0 :(得分:5)

我们不清楚你要做什么。如果页面上有一个元素,则length为1是有意义的。否则,您无法表达页面上没有匹配元素的事实(length = 0)。

如果表示您正在尝试查找索引,那么您只需从0length - 1计算,通常使用{{ 1}}作为循环条件。 E.g:



< length
&#13;
var foos = $(".foo");
for (var n = 0; n < foos.length; ++n) {
  console.log("#" + n + " is '" + foos.eq(n).text() + "'");
}
&#13;
&#13;
&#13;

但是当你有一个元素时,你不希望<div class="foo">First</div> <div>(not foo)</div> <div class="foo">Second</div> <div>(not foo)</div> <div class="foo">Third</div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>成为length。它没有意义。

当然,如果您尝试在列表或某些内容中输出数字供人类使用,则在 display 目的的索引中添加一个是常见做法:

&#13;
&#13;
0
&#13;
var foos = $(".foo");
for (var n = 0; n < foos.length; ++n) {
  console.log((n + 1) + ": '" + foos.eq(n).text() + "'");
  // Adding 1 ^^^^^^^ for display purposes only
}
&#13;
&#13;
&#13;

答案 1 :(得分:1)

这应该有效:

var tadada = $('.clickableDiv').length - 1;