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

难道遍历没有成功吗= =???

<body>
<div id="content">
<h1>html</h1>
<h1>php</h1>
<h1>javascript</h1>
<h1>jquery</h1>
<h1>java</h1>
</div>

function clearText() {
  var content=document.getElementById("content");
  for(var i=0;i<content.childNodes.length;i++)
  {var x=content.removeChild(content.childNodes[i]);
  document.write("删除的节点内容:"+x.innerHTML+"<br/>");
  }

<h1>之间打了空格的时候返回6个undefined;

<h1>没打空格的时候返回三个 html javascript java这是为什么???


正在回答

2 回答

content.childNodes.length是变化的,每删除一个下次循环的时候length就少一个,所以这个值不是常量,

var x=content.removeChild(content.childNodes[i]);这句也有问题,content里的节点是变化的,删一个少一个,所以第一次删的时候第一个节点没了,下次删的时候原来的第1个变成第0个,第2个变成第1个,第二次循环的时候删当前第1个点,就变成删原来的第2个节点了

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

其实TAMA酱不是我名字 提问者

非常感谢!
2016-04-09 回复 有任何疑惑可以回复我~

- -

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

其实TAMA酱不是我名字 提问者

= =
2016-03-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

难道遍历没有成功吗= =???

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