问答详情
源自:9-14 删除节点removeChild()

能解释一下这里的一次清除或多次清除的原理吗?

为什么部
function clearText() {
  var content=document.getElementById("content");
  // 在此完成该函数
//法一,一次性清除节点内容
  for(var i=0;i<content.childNodes.length;i++){
      if(content.childNodes[i].nodeType!=1){   
         continue;  
      }else{
         content.removeChild(content.childNodes[i]);    
      }
         
      }
  //法二,一次性清除节点内容
/*   
   for(var i=content.childNodes.length-1;i>=0;i--){
      var chnode=content.childNodes[i];
      content.removeChild(chnode);  
   }
*/ 
  //法三,多次方清除节点内容
/*
   for(var i=0;i<content.childNodes.length;i++){
    var chnode=content.childNodes[i];
    content.removeChild(chnode);  
  }
*/
  
  }

为什么i++和i--不是一种效果


提问者:Mileswongke 2016-10-21 21:13

个回答

  • 慕粉4221794
    2016-10-23 20:58:53

    法一通过保留空白文本,巧妙的躲过数组长度的变化

  • Mileswongke
    2016-10-23 18:42:48

    我的意思是法3为什么不是一次清除了所有的,而法1是一次清除了所有的

  • 若风似雨谁知3188820
    2016-10-22 12:14:55

    一次清除,清除的是最先的内容,但是这是交互式的,客户可能出现一些操作,需要再次清除