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

求大神帮看一下 关于for循环的疑问?

求大神帮看一下 关于for循环的疑问?

csusun 2016-03-19 12:14:54
<!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(var i=0;i<content.childNodes.length;i++){       if(content.childNodes[i].nodeType!=1){             continue;         }else{          content.removeChild(content.childNodes[i]);           }             //法二,多次方清除节点内容 /*    for(var i=0;i<content.childNodes.length;i++){     var chnode=content.childNodes[i];     content.removeChild(chnode);     } */      }    </script> <button onclick="clearText()">清除节点内容</button> </body> </html>法一跟法二的两个for循环有什么本质的区别 ? 为什么第一个for循环能直接删除所有内容 而第二个for循环只能多次删除内容? 一直想不通
查看完整描述

2 回答

已采纳
?
qq_岁月静好与君语_0

TA贡献15条经验 获得超2个赞

应该是方法2可以删除content.childNodes全部内容,而方法1只能部分删除吧,区别主要在于方法1中的continue关键字;如果满足上述条件则不执行删除操作,直接i++,继续下一次循环

查看完整回答
反对 回复 2016-03-20
?
ruibin

TA贡献358条经验 获得超213个赞

方法一的意思是删除所有节点类型不为1的节点(及元素节点),方法二是删除所有节点。

查看完整回答
反对 回复 2016-03-21
  • 2 回答
  • 0 关注
  • 1355 浏览
慕课专栏
更多

添加回答

举报

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