黑豆0
2016-02-20 17:04
<!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 rChild=content.chileNodes;
for(var i=0;i<rChild.length;i++){
var x=content.removeChild(rChild[i])
document.write("清除节点"+x)
}
}
</script>
<button onclick="clearText()">清除节点内容</button>
</body>
</html>
你的代码有错误,
var rChild=content.chileNodes;
var rChild=content.childNodes;//e和d
如果没有错了(再检查检查),多点几次,就有结果了
补充:
你的这种写法,同样的代码清除所有内容,不同的浏览器点击的次数不同,
因为
如果标签外的空白是一个元素,每删出一个结点的同时,content.childNodes的每个元素就变化一次(删除第一个,以后的每个元素向前移动),而i却一直在增大,导致点击一次元素不能删除完;
这样写能一次删除完,楼组可以参考一下,
var nodes = content.childNodes; for(i=content.childNodes.length-1;i>=0;i--){ content.removeChild(nodes[i]); }
JavaScript进阶篇
468197 学习 · 21891 问题
相似问题