<!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++,继续下一次循环
添加回答
举报
0/150
提交
取消