[英]Javascript loop iteration error
該循環似乎無法正確迭代:
var selections = $("#primaryModal").find("select").not(".hidden");
for(var i = 0; i < selections.length; i++){
console.log(selections.length);
console.log("select");
for(var i = 0; i < $(selection)[0].options.length; i++){
console.log("option");
}
}
上面是我的循環,下面是控制台中的結果:
這里似乎是什么問題? 內部循環似乎起作用,但是盡管數組長度為2,但外部循環僅迭代一次。
您正在兩個循環中使用相同的循環索引,並且未定義變量選擇。 嘗試這樣的事情:
var selections = $("#primaryModal").find("select").not(".hidden");
for(var i = 0; i < selections.length; i++){
console.log(selections.length);
console.log("select");
for(var j = 0; j < $(selections)[i].options.length; j++){
console.log("option");
}
}
您正在使用javascript。 您的代碼將在變量提升后轉換為:
var i;
for(i = 0; i < selections.length; i++){
console.log(selections.length);
console.log("select");
for(i = 0; i < $(selection)[0].options.length; i++){
console.log("option");
}
}
這意味着您在不同的范圍內沒有兩個不同的變量。 您應該選擇Robert Fines的建議,並更改變量名稱,這樣您的代碼才能正常工作,並且沒有任何副作用。
var i, j;
for(i = 0; i < selections.length; i++){
console.log(selections.length);
console.log("select");
for(j = 0; j < $(selections)[i].options.length; j++){
console.log("option");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.