<!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 cc=content.childNodes;
for(var i=0;i<cc.length;i++)
{x=content.removeChild(cc[i]);
x=null;}
}
</script>
<button onclick="clearText()">清除节点内容</button>
</body>
</html>
为什么我这个清除分了三次才清除完
我寻找 子类元素是一次就寻找完的,不知道为什么
原因我不知道,但是倒过来,写成i--的就可以一次清除了
这是因为每次清除节点时childNodes的长度(即tt.length)都缩短1,而每次I增大1,这样会导致i的值还没有达到最初的tt.length时循环会比提前结束;
在for循环里面,加上
if(otest[i].nodeType!=1){
continue;
}
else{
var x=content.removeChild(otest[i]);
} 试试,具体原因,不是很懂