読者です 読者をやめる 読者になる 読者になる

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

JavaScript jQuery

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

サンプルコード

<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