所以我有这段代码可以从选择 (0-23) 中删除选项,但它只删除 0 和奇数。剩下的选项是 2、6、10、14、18、22。 目标是删除 for 中的所有选项 代码:
var x = 0;
var select = document.getElementById("hour");
var length = select.options.length;
for (x = 0; x < length; x++) {
select.options[x] = null;
};
最佳答案
尝试反向循环
var select = document.getElementById("hour");
var length = select.options.length;
for (var x = length-1; x >= 0; x--) {
select.options[x] = null;
};
您也可以使用remove
方法而不是将其设置为空值
select.remove(x);
您的代码存在问题,当您删除第 0 个索引选项时,第一个出现在第 0 个索引,导致下一次迭代删除第 1 个索引而不是第一个索引。
关于javascript - 因为只会得到奇数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58235580/