<!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(i=0;i<content.childNodes.length;i++){
content.removeChild(content.childNodes[i]);
// document.write("被删除的内容:"+c);
}
}
</script>
<button onclick="clearText()">清除节点内容</button>
</body>
</html>
循环的时候从后往前删,就能点一次全部删除
function clearText() {
var content=document.getElementById("content");
// 在此完成该函数
var nodes=content.childNodes;
for(var i=nodes.length-1;i>=0;i--){
content.removeChild(nodes[i])
}
}
for外面套while循环就行
你用for循环,如果你不是i--往后面删除的话,是i++这个方法的话,当i=0删除的是html,再循环一次,这时删除的就是javascript了,因为html不在了,所以i=1 ,javascript的下标就是1了
循环的时候从后往前删,就能点一次全部删除
function clearText() {
var content=document.getElementById("content");
// 在此完成该函数
var nodes=content.childNodes;
for(var i=nodes.length-1;i>=0;i--){
content.removeChild(nodes[i])
}
}
因为每for循环一次,数组的下标就会发生改变,i= 0时,删除content[0],html被删,此时content[1]时JavaScript,而不是php