我正在尝试计算页面上的元素但是我需要数字从0开始而不是1。
我知道我可以做var tadada = $('.clickableDiv').length;
但这会从1返回数字。
这可以使用jquery或javascript吗?
答案 0 :(得分:5)
我们不清楚你要做什么。如果页面上有一个元素,则length
为1是有意义的。否则,您无法表达页面上没有匹配元素的事实(length = 0
)。
如果表示您正在尝试查找索引,那么您只需从0
到length - 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;
但是当你有一个元素时,你不希望<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 目的的索引中添加一个是常见做法:
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;
答案 1 :(得分:1)
这应该有效:
var tadada = $('.clickableDiv').length - 1;