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

删除节点问题???

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>

<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=0;i<content.childNodes.length;i++){
      
      var a=content.removeChild(content.childNodes[i]);
      a=null;
      
  }
 
}
</script>

<button onclick="clearText()">清除节点内容</button>



</body>
</html>


//程序执行删除的时候,虽然能全部删除,但第一次先删除三个,到后两个才逐个删除,求大神帮看看程序

提问者:吴风斌 2015-11-13 19:39

个回答

  • redRibbon
    2015-12-30 17:19:52

    http://www.imooc.com/qadetail/56371 看了这里应该基本能清楚的。

    关键:

    1. 前几课强调过,除了IE,标签节点之间如果有空的话,会被当作文本节点塞入里面。

    2. “i<content.childNodes.length”的  content.childNodes.length 在循环中发生了改变。

    加油。