js文件中function delPerson(){   var options = document.getElementById("***");//获取的是一个数组 是select元素的所有option子元素
   if(options != null && options.length>0){
     for(var i=0;i<options.length;i++){
        var option = options[i];
       if(option !=null && options.value="***"){
         option.removeNode();
         alert();//如果没有这个alert()则会在js引用文件中报null错误 ,有了这个alert()则正常
}
}
}}这是怎么回事?是延迟的作用吗?

解决方案 »

  1.   

      if(option !=null && options.value="***"){ 
    这里options.value=="***"是两个=不是一个=号
    另外,删除最好是从最后往最前来删,要不比如你删了i=0的那个,i=1的那个会变成第一个,也就是i=1的那个在你remove了之后,会变成i=0,这样你会变成跳着删
    示例代码:我这里是删除所有已经选择的。from就是那个select对象。
    for  (var i=from.length - 1; i >-1; i--){
    s = from.options[i];
    if(s.selected){
    from.options.remove(i);
    }
    }