jQuery .each()インデックス?


102

使ってます

$('#list option').each(function(){
//do stuff
});

リストのオプションをループします。現在のループのインデックスを取得するにはどうすればよいですか?

var i = 0にしたくないので、ループ内にはi ++があります。

回答:


181
$('#list option').each(function(index){
  //do stuff
  console.log(index);
});

インデックスを記録します:)

より詳細な例を以下に示します。


1
そしてない、例えば、function( value | element, index | key )同等のネイティブメソッドのようにforEach、すべての他の人気API。
Barney

5
多くの場合、アラートよりもconsole.logでデバッグする方が適切です。大きなオプションリストは、警告でウィンドウスタックを台無しにするでしょう。
MarkokraM 2015年

function(index | key , value | element ) それは有効ですか?
ワールドワイド氏

28

jQueryがこれを処理します。.each()コールバック関数の最初の引数は、ループの現在の反復のインデックスです。2番目は、現在一致しているDOM要素です。

$('#list option').each(function(index, element){
  alert("Iteration: " + index)
});

12

jQuery.each()のドキュメント

.each( function(index, Element) )
    function(index, Element)A function to execute for each matched element.

だからあなたは使いたいでしょう:

$('#list option').each(function(i,e){
    //do stuff
});

...ここで、indexはインデックスで、elementはリストのオプション要素になります


4

この構文を与えていないことに驚いてください。

.each データまたはコレクションの構文

jQuery.each(collection, callback(indexInArray, valueOfElement));

または

jQuery.each( jQuery('#list option'), function(indexInArray, valueOfElement){
//your code here
}); 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.