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

清除节点~~~

为什么先删除4个,然后剩下php,jq,然后点一下删除一个

提问者:hcl哦了 2016-02-26 19:37

个回答

  • 输输输
    2016-03-02 16:34:44

     //content.childNodes.length 是动态变化的。
     //使用while,比较适合
     while(content.childNodes.length > 0)
        content.removeChild(content.firstChild);


  • biubiu昊
    2016-02-27 17:31:04

    1. content的子节点长度随着删除的进行会变化,所以需要将其长度在循环外进行

    2. 如果你的是非IE浏览器,浏览器会计算空节点,所以会删不完,建议从第一个或最后一个开始删,具体的节点情况看9-11节

    function clearText() {
      var content=document.getElementById("content");
      // 在此完成该函数
      
      var allnode=content.childNodes;
      var num=allnode.length;
      
      for (var i=0;i<num;i++){
          
          var x=content.removeChild(allnode[0]);
          //return allnode;
         
      }
      
    }


  • 2430701355
    2016-02-27 17:18:57

    循环 i=0执行完了后 标签结构已经发生变化了 执行i=1时其实删的是以前的childNodes[2]