Javascript 删除子节点缩短html集合大小

Javascript 删除子节点缩短html集合大小,javascript,Javascript,我正在循环选择下拉选项,如果某个选项的值满足特定条件,我希望删除该选项。我使用了selectObject.removechild(option)/option.remove(),但在这样做时,只有一个满足条件的选项会首先删除,而其他选项不会删除,因为每次删除操作时,列表的大小都会减小,因此不会遍历所有选项。我想要纯JavaScript解决方案(无JQuery)。我搜索了很多,只找到了JQuery解决方案。还有别的办法吗 var selectObject = document.getElement

我正在循环选择下拉选项,如果某个选项的值满足特定条件,我希望删除该选项。我使用了selectObject.removechild(option)/option.remove(),但在这样做时,只有一个满足条件的选项会首先删除,而其他选项不会删除,因为每次删除操作时,列表的大小都会减小,因此不会遍历所有选项。我想要纯JavaScript解决方案(无JQuery)。我搜索了很多,只找到了JQuery解决方案。还有别的办法吗

var selectObject = document.getElementById("sel");
var opts = selectObject.options;
for(var i = 0; opts.length; i++){
  if(opts[i].value == val){
    opts[i].remove();
    //i also tried with: selectObject.removeChild(opts[i])
  }
}
使用索引而不是索引,我能够让代码正常工作

var empty=function(){
s=document.getElementById('s');
for(var i=0;i

1.
1.
2.
1.
1.
1.
1.
2.
1.
1.
1.

empty
显示您的代码和示例html。请参阅,以及可能的副本
var selectObject = document.getElementById("sel");
var opts = selectObject.options;
for(let opt of opts){
  if(opt.value == val){
    opt.remove();
    //i also tried with: selectObject.removeChild(opts[i])
  }
}