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

为什么我要按三次才能全部删除,怎么做到点击一次就能全部删除?

为什么我要按三次才能全部删除,怎么做到点击一次就能全部删除?

剑敛卿尘 2015-12-15 18:07: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 banana=document.getElementsByTagName("h1");   for (var i=0;i<banana.length;i++) {       content.removeChild(banana[i]);   }    } </script> <button onclick="clearText()">清除节点内容</button> </body> </html>
查看完整描述

3 回答

已采纳
?
朝花

TA贡献6条经验 获得超8个赞

你的循环在判断的时候 会重新banana.length的值,每删除一个,这个值就改变了一次,所以不能一次全部清除。

及  i=0 的时候 length= 5 ,i=1 length=4 ,i=2 length=3, i=3 ,i<length 不满足,跳出循环 所以第一次只删除了3个,依次类推,需要删几次。改变一下 如上我回复的代码,即可一次全部清除。

查看完整回答
1 反对 回复 2015-12-15
?
lynhao

TA贡献81条经验 获得超57个赞

 因为没点一次执行一次for循环总共循环三次,要全部删除用个while试试
 while(div.hasChildNodes()) //当div下还存在子节点时 循环继续
    {
        div.removeChild(div.firstChild);
    }


查看完整回答
反对 回复 2015-12-15
  • 3 回答
  • 0 关注
  • 1649 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信