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 个索引处,导致下一次迭代删除第一个索引而不是当前索引。
推荐阅读
- python - 从具有相似前缀的列中划分元素
- wordpress - 这是 Wordpress 中预加载功能图像的编写片段吗?
- mysql - MySQL SELECT 未找到已知值
- r - r 的新手,在知道另一个列值时抓取一个列值
- c - 如何获得 exec() 的输出?
- python - Flask:如何通过登录用户名向不同用户显示来自 PostgreSQL DB 的不同数据?
- c++ - 如何在 boost multi_array 容器中存储值?
- reactjs - 单独的页面与在同一页面上更新组件
- java - 投资程序,没有给出最终结果所需的正确计算
- laravel - 如何创建唯一索引,这需要一组属性是唯一的?