簡體   English   中英

JavaScript循環迭代錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM