jQuery: .each()に渡すfunctionの第1引数には連番が渡される

次のようにわざわざ番号を数えるような処理にしてしまうことがありますが…。

サンプルコード

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$(function(){
    var i = 0;
    $('.element').each(function(){
        console.log(i++);
    });
});
</script>
</head>
<body>
<div>
    <span class="element"></span>
    <span class="element"></span>
    <span class="element"></span>
</div>
</body>
</html>

javascriptのみ抜粋

var i = 0;
$('.element').each(function(){
    console.log(i++);
});

結果

0
1
2

.each()に渡すcallback functionの第1引数には0から順にカウントアップするindexが渡されているので次のような処理で十分です。

サンプルコード

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$(function(){
    $('.element').each(function(i){
        console.log(i);
    });
});
</script>
</head>
<body>
<div>
    <span class="element"></span>
    <span class="element"></span>
    <span class="element"></span>
</div>
</body>
</html>

javascriptのみ抜粋

$('.element').each(function(i){
    console.log(i);
});

結果

0
1
2