我试图删除一个HTML选择列表。我正在使用的是:

var size = DID(SourceDiv + Number).options.length;
    DeleteSelectElements(SourceDiv+Number,size);

function DeleteSelectElements(Div,Len){
    var k;
    var Length = Len
    for (k = 0; k < Length; k++) {
        DID(Div).options[k] = null;
    }
}


DID仅返回实际的HTML元素。问题是只有完全暂停列表才被删除。 Len参数正在更改,因为它与大小有关,而大小与列表的实际长度有关。因此,当我在函数中删除其实际更改的“长度”并且从未到达列表的实际结尾时:

最佳答案

您已经发现了问题:每次删除元素时,长度都会减少,这意味着有效索引的数量也会减少1。因此,与其尝试从0删除到Length,不如连续删除第一个元素,直到列表为空:

var e = DID(Div).options;
while (e.length > 0)
  e.remove(0);

关于javascript - 删除选择列表的Javascript循环限制不断变化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3987506/

10-12 12:53
查看更多