jQuery计数元素从0开始?
问题描述:
我想指望页面上的元素,但我需要的数字,从0开始,而不是1jQuery计数元素从0开始?
我知道我可以简单地做var tadada = $('.clickableDiv').length;
但是这将从1返回的数字。
这可能使用jQuery或JavaScript?
答
目前尚不清楚你想要做什么。如果页面上有一个元素,则length
为1是有意义的。否则,您无法表达页面上没有匹配元素的事实(length = 0
)。
如果您意味着你试图找到自己的索引,那么你会从0
通过length - 1
算了算,通常使用< length
作为循环条件。例如: -
var foos = $(".foo");
for (var n = 0; n < foos.length; ++n) {
console.log("#" + n + " is '" + foos.eq(n).text() + "'");
}
<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
是0
时,有一个元素。这没有意义。
当然,如果你想在一个列表或东西供人食用的输出数字,将1加到索引显示目的通常的做法是:
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
}
<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>
答
这应该工作:
var tadada = $('.clickableDiv').length - 1;
+2
'var tadada = $('。clickableDiv')。length;'它将提供具有相同类'clickableDiv'的元素的数量。所以如果有1个元素,那么你提供的代码将显示0,这会导致模糊性, –
那么'var tadada = $('。clickableDiv')。length - 1;'? –
目前尚不清楚你想要做什么。如果页面上有一个元素,“length”为1是有意义的。否则,你无法表达页面上没有匹配元素('length = 0')的事实。 –
从0开始计数,0意味着1没有意义? – Liam