javascript - 因为只会得到奇数

标签 javascript

所以我有这段代码可以从选择 (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/

相关文章:

javascript - DHTMLX dhtmlxForm.send() 抛出 HTTP 状态 400 - "The request sent by the client was syntactically incorrect."

javascript - 如何使用javascript在点击后调用方法

javascript - 为什么 document.write ('\45' );让我拿 %?

javascript - 如何从 ember save 方法获取 JSON 响应

javascript - ng-if 内的 Angular js

当我添加新的 HTML 标签时,javascript 不能正常工作

javascript - 过滤一个对象数组并使用纯Javascript返回一个过滤后的数组?

javascript - 在 Mongoose 中搜索和从数组中删除的最佳方式

javascript - 在 SailsJS 0.9.7 中手动包含 Assets

javascript - 不允许加载本地资源 : file