为了账号安全,请及时绑定邮箱和手机立即绑定

正序删除时循环内总是删除第一个子节点但是还是不能一次性清除完,求大神指教是为什么

<!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[0]);

    }


}

</script>


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




</body>

</html>


正在回答

3 回答

这个可以从后往前删除就好了

var i=content.childNodes.length-1;

i>=0;

i--

这样就好了     

2 回复 有任何疑惑可以回复我~
#1

黄海登

这是为什么呢?
2022-08-27 回复 有任何疑惑可以回复我~

我研究了一下整明白了,因为数组的长度在不断的变化

第一次循环 i=0   i<length(5)  i++      删除一个数组元素剩4个

第二次循环i=1    i<length(4)   i++     删除一个数组元素剩3个

第三次循环i=2     i<length(3)  i++      删除一个数组元素剩2个

第四次循环i=3     i<length(2)=false      跳出循环

需要重新点击按钮重新开始循环也就是  i=0

2 回复 有任何疑惑可以回复我~

我也是这么写的第一次删了三个   第二次第三次 各删除一个  三次才删除完

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

正序删除时循环内总是删除第一个子节点但是还是不能一次性清除完,求大神指教是为什么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信