簡體   English   中英

試圖從一個元素中消除 3-7 歲的孩子,我循環遍歷數組以消除它們,但它不會工作

[英]Trying to eliminate children 3-7 from an element, I am looping through the array to eliminate them but it wont work

所以第一個main只有一個孩子,這就是為什么我選擇子刀片作為var blades = main.children[0]; 然后我試圖遍歷並從 [3] 到 [7] 中刪除blades中的子項,但由於某種原因在控制台上執行此操作時它不起作用。

 function deleteBlades() {
        var main = document.getElementById("id-9a1e3f8f48548d4c2c422b1f92cb749a");
        var blades = main.children[0];
        for (var i = 0; i < blades.length; i++) {
            if( i >= 3 || i <= 7)
                {
                    blades.children[i].remove();
                }
        }
    }
    deleteBlades();

關於我做錯了什么的任何想法?

在你的for循環中你正在閱讀blades.length當它是一個HTMLElement而不是數組時,使用blades.children.length代替

 function deleteBlades() {
    var main = document.getElementById("id-9a1e3f8f48548d4c2c422b1f92cb749a");
    var blades = main.children[0];
    for (var i = 0; i < blades.children.length; i++) {
        if( i >= 3 || i <= 7)
            {
                blades.children[i].remove();
            }
    }
}
deleteBlades();

看起來你的循環中有錯字。

我想你的意思是:

for (var i = 0; i < blades.children.length; i++) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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