for 函数中 content.removeChild(content.childNodes[0]); 为什么不是 content.removeChild(content.childNodes[i]);

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

雨巷_100

2015-07-13 17:50

<!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 nole=content.childNodes.length;
  for(var i=0;i<nole;i++)
  {
      content.removeChild(content.childNodes[0]);   
  }
  // 在此完成该函数
}

</script>

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



</body>
</html>
写回答 关注

1回答

  • uhelper_net
    2015-07-13 17:59:51
    已采纳

    childNodes是实时节点,你删除第一个节点(0索引)后,后面的第二个节点会自动变为第一个节点.即childNodes是动态的.非快照储存.

    雨巷_100

    非常感谢!

    2015-07-13 19:28:08

    共 1 条回复 >

JavaScript进阶篇

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

468192 学习 · 21891 问题

查看课程

相似问题