jQuery .each () dizini?


102

Ben kullanıyorum

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

Listedeki seçenekler üzerinde döngü yapmak için. Mevcut döngünün indeksini nasıl elde edebileceğimi merak ediyorum?

var i = 0 olmasını istemediğim için; ve döngünün içinde i ++ var;

Yanıtlar:


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

dizini günlüğe kaydeder :)

daha ayrıntılı bir örnek aşağıdadır.


1
Ve değil , örneğin, function( value | element, index | key )eşdeğer yerli yöntemle gibi forEachve diğer her popüler API.
Barney

5
Genellikle, alert yerine console.log ile hata ayıklamak daha iyidir. Büyük seçenek listesi, pencere yığınınızı uyararak mahveder.
MarkokraM

function(index | key , value | element ) geçerli mi ..?
Mr dünya çapında

28

jQuery bunu sizin için halleder. .each()Geri arama işlevinizin ilk argümanı , döngünün geçerli yinelemesinin dizinidir. İkincisi, geçerli eşleşen DOM öğesidir. Dolayısıyla:

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

12

Gönderen jQuery.each () belgelerinde :

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

Bu yüzden kullanmak isteyeceksiniz:

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

... burada indeks indeks olacak ve eleman listedeki seçenek öğesi olacaktır


4

hiçbirinin bu sözdizimini vermediğini görmek şaşırtıcı.

.each veri veya koleksiyon içeren sözdizimi

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

VEYA

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

3
$('#list option').each(function(intIndex){
//do stuff
});
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.