问答详情
源自: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(i=0;i<content.childNodes.length;i++){

      var x=content.removeChild(content.childNodes[i]);

      document.write("删除节点的内容"+x.innerHTML+"<br>");

  }

}

</script>


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




</body>

</html>


提问者:come_and_go 2019-07-03 09:16

个回答

  • weixin_慕娘543641
    2019-07-14 20:10:04

    我一开始也是这样写的,我后来发现是因为逻辑错了。因为,第一次循环,你是删除众节点中的第一个;第二次循环你是删除剩下的节点的第二个。所以就会跳了。后来我是用倒序删除的。嘻嘻