2017-04-18 76 views
-4

我想指望頁面上的元素,但我需要的數字,從0開始,而不是1jQuery計數元素從0開始?

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

但是這將從1返回的數字。

這可能使用jQuery或JavaScript?

+2

那麼'var tadada = $('。clickableDiv')。length - 1;'? –

+2

目前尚不清楚你想要做什麼。如果頁面上有一個元素,「length」爲1是有意義的。否則,你無法表達頁面上沒有匹配元素('length = 0')的事實。 –

+0

從0開始計數,0意味着1沒有意義? – Liam

回答

5

目前尚不清楚你想要做什麼。如果頁面上有一個元素,則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>

但是你不想length0時,有一個元素。這沒有意義。

當然,如果你想在一個列表或東西供人食用的輸出數字,將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>

1

這應該工作:

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

'var tadada = $('。clickableDiv')。length;'它將提供具有相同類'clickableDiv'的元素的數量。所以如果有1個元素,那麼你提供的代碼將顯示0,這會導致模糊性, –