这个的效果点击第一次没有清楚任何节点的内容,点击第二次的时候清了上面的三个,点击第三次的时候清了一个,第四次点击清除了最后一个,但是不知道是为什么,谁能解答一下

来源:9-14 删除节点removeChild()

慕粉4032221

2016-10-15 09:42

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

  // 在此完成该函数

  var x=content.childNodes.length;

  for(var i=0; i<x; i++){

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

  }

  

}

</script>


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




</body>

</html>


写回答 关注

2回答

  • 慕姐6731210
    2016-10-15 15:16:43
    已采纳

      for(var i=0; i<x; i++)这里要改成for(var i=x-1;i>=0;i--)才能完全清除,因为每清除一个节点,它的长度就变小,所以不能定义i=0;i<x

  • 慕粉4032221
    2016-10-26 13:14:00

    嗯是的,我就是那样改了i的值以后才有用的

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题