为什么输出的只有3个啊?还有中间的两个内容呢?

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

富真好

2016-03-18 00:16

<!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 j=content.childNodes.length;

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

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

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

  }

  

  

}

</script>


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




</body>


</html>


写回答 关注

1回答

  • 小海妖
    2016-03-18 07:24:18
    已采纳

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

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

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

      }

    从头开始删除,删除一个节点,所有的节点都往前移一位了,第二次删除的是content.childNodes[1],其实为初始列表中的content.childNodes[2]. 可将content.childNodes[i]改为content.childNodes[0]每次删除第一个。或者从后面开始删除。

    富真好

    非常感谢!

    2016-03-18 13:37:15

    共 1 条回复 >

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题