jQuery .each () indeks?


102

ja używam

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

aby zapętlić opcje na liście. Zastanawiam się, jak mogę uzyskać indeks bieżącej pętli?

ponieważ nie chcę mieć var ​​i = 0; a wewnątrz pętli i ++;

Odpowiedzi:


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

rejestruje indeks :)

bardziej szczegółowy przykład znajduje się poniżej.


1
A nie , na przykład, function( value | element, index | key )jak równoważna metoda natywna forEachi każde inne popularne API.
Barney,

5
Często lepiej debugować za pomocą console.log niż alert. Duża lista opcji zrujnowałaby twój stos okien z alertem.
MarkokraM

function(index | key , value | element ) czy to ważne ..?
Mr world wide

28

jQuery zajmie się tym za Ciebie. Pierwszym argumentem .each()funkcji zwrotnej jest indeks aktualnej iteracji pętli. Drugi to aktualnie dopasowany element DOM Więc:

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

12

Z dokumentacji jQuery.each () :

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

Więc będziesz chciał użyć:

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

... gdzie indeks będzie indeksem, a element będzie elementem opcji na liście


4

Zaskoczyć, że nie podali tej składni.

.each składnia z danymi lub kolekcją

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

LUB

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.