我正在尝试删除 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 元素。问题是只有 EXACTLY hold 列表被删除。 Len 参数正在更改,因为它与大小有关,而大小与列表的实际长度有关。因此,当我在函数中删除时,它实际上改变了“长度”并且从未到达列表的实际末尾:s
最佳答案
问题你已经发现了:每删除一个元素,长度就会减少,也就是说有效索引的个数也会减少一个。因此,与其尝试从 0
删除到 Length
,不如继续删除第一个元素,直到列表为空:
var e = DID(Div).options;
while (e.length > 0)
e.remove(0);
关于删除选择列表的Javascript循环限制不断变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3987506/