ฉันใช้
$('#list option').each(function(){
//do stuff
});
เพื่อวนซ้ำตัวเลือกในรายการ ฉันสงสัยว่าฉันจะได้รับดัชนีของลูปปัจจุบันได้อย่างไร?
เพราะฉันไม่ต้องการให้มี var i = 0; และภายในลูปมี i ++;
ฉันใช้
$('#list option').each(function(){
//do stuff
});
เพื่อวนซ้ำตัวเลือกในรายการ ฉันสงสัยว่าฉันจะได้รับดัชนีของลูปปัจจุบันได้อย่างไร?
เพราะฉันไม่ต้องการให้มี var i = 0; และภายในลูปมี i ++;
คำตอบ:
$('#list option').each(function(index){
//do stuff
console.log(index);
});
บันทึกดัชนี :)
ตัวอย่างรายละเอียดเพิ่มเติมอยู่ด้านล่าง
function(index | key , value | element )
ใช้ได้ไหม .. ?
jQuery ดูแลสิ่งนี้ให้คุณ อาร์กิวเมนต์แรกของ.each()
ฟังก์ชันเรียกกลับของคุณคือดัชนีของการวนซ้ำปัจจุบันของลูป อย่างที่สองคือองค์ประกอบ DOM ที่จับคู่ปัจจุบันดังนั้น:
$('#list option').each(function(index, element){
alert("Iteration: " + index)
});
จากเอกสาร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
});
... โดยที่ดัชนีจะเป็นดัชนีและองค์ประกอบจะเป็นองค์ประกอบตัวเลือกในรายการ
แปลกใจที่เห็นว่าไม่มีไวยากรณ์นี้
.each
ไวยากรณ์ที่มีข้อมูลหรือการรวบรวม
jQuery.each(collection, callback(indexInArray, valueOfElement));
หรือ
jQuery.each( jQuery('#list option'), function(indexInArray, valueOfElement){
//your code here
});
$('#list option').each(function(intIndex){
//do stuff
});
function( value | element, index | key )
เดียวกับเมธอดเนทีฟที่เทียบเท่าforEach
และ API ยอดนิยมอื่น ๆ