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

为什么要删3次才能全部删除掉?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>无标题文档</title>

</head>


<body>

<div id="content">

  <h1>ht5ml</h1>

  <h1>p5hp</h1>

  <h1>ja5vascript</h1>

  <h1>jqu5ery</h1>

  <h1>jav5a</h1>

</div>


<script type="text/javascript">

function clearText() {

  var content=document.getElementById("content");

  // 在此完成该函数

  var head=document.getElementsByTagName("h1");

  alert(head.length);

  for(var i=0;i<5;i++)

  {

      alert(i);

      content.removeChild(head[i]);

  } 

}

</script>

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

</body>

</html>


正在回答

1 回答

问题在于你每remove一次,head里的元素就被去掉一个,然后后面的元素就相当于前移了一位

例如,你删掉第一个元素ht5ml之后,第二个元素p5hp就变成了第一个元素,但是你接下来是删除第二个元素,现在第二个元素已经是ja5vascript了,因此p5hp就没有被删掉,往后以此类推

要解决这个问题,在remove之后加一句 i--

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

jsteven 提问者

66666 我竟然没有想到 谢谢!!!
2016-02-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么要删3次才能全部删除掉?

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