jQuery .each () index?


102

saya menggunakan

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

untuk mengulang opsi dalam daftar. Saya bertanya-tanya bagaimana saya bisa mendapatkan indeks dari loop saat ini?

karena saya tidak ingin memiliki var i = 0; dan di dalam loop memiliki i ++;

Jawaban:


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

mencatat indeks :)

contoh yang lebih detail ada di bawah.


1
Dan tidak , misalnya, function( value | element, index | key )seperti metode asli yang setara forEachdan setiap API populer lainnya.
Barney

5
Seringkali lebih baik men-debug dengan console.log daripada alert. Daftar opsi besar akan merusak tumpukan jendela Anda dengan peringatan.
MarkokraM

function(index | key , value | element ) apakah itu valid ..?
Mr world wide

28

jQuery menangani ini untuk Anda. Argumen pertama untuk .each()fungsi callback Anda adalah indeks dari iterasi loop saat ini. Yang kedua adalah elemen DOM yang cocok saat ini Jadi:

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

12

Dari dokumentasi jQuery.each () :

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

Jadi, Anda ingin menggunakan:

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

... di mana indeks akan menjadi indeks dan elemen akan menjadi elemen opsi dalam daftar


4

terkejut melihat bahwa tidak ada yang memberikan sintaks ini.

.each sintaks dengan data atau koleksi

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

ATAU

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

3
$('#list option').each(function(intIndex){
//do stuff
});
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.