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

清除节点两种写法有什么不同吗 为什么表现出的效果不一样

<body>

<div id="content">

  <h1>html</h1>

  <h1>php</h1>

  <h1>javascript</h1>

  <h1>jquery</h1>

  <h1>java</h1>

</div>


<script type="text/javascript">

function clearText() {

  var content=document.getElementById("content");

  //一次性清除节点内容

/*   

   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);  

  }

  }

</script>


提问者:601 2016-01-13 12:14

个回答

  • 哎呦微
    2016-01-13 17:34:20

    第二种方法,是从第一个子节点开始清除,清除了第一个子节点(下标为0),第二个子节点(下标为1)就成为了第一个子节点(下标变成0),把i++去掉即可,即每次都从第一个子节点(下标始终为0)开始清。