<!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++){
var son = content.childNodes[i];
content.removeChild(son);
}
}
</script>
<button onclick="clearText()">清除节点内容</button>
</body>
</html>
<!DOCTYPE HTML>
<html>
<head>
<meta 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");
// 在此完成该函数
content.childNodes.length;
for(var i=1;i<content.childNodes.length;i++){
content.removeChild(content.childNodes[i]);
}
}
</script>
<button onclick="clearText()">清除节点内容</button>
</body>
</html>
IE浏览器有效果
<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=4;i>=0;i--){
var son = content.removeChild(content.childNodes[i]);
}
}
</script>
<button onclick="clearText()">清除节点内容</button>
</body>
用for循环遍历首先删除第一个元素html,接下来的4个元素不是原来的2,3,4,5了 而是1,2,3,4 ,接下来删除第二个元素是javascript,跟队列数据结构一样的原理,比如排队买票,第一人买了票走了,后面的人依次上前一位,原本的第二个人站到了第一个人的位置,就是这样,所以需要倒叙删除。然后就是前面空格的问题,除IE浏览器其他浏览器默认空格代表一个节点。
不是很懂,可能涉及到浏览器的问题吧
我试了函数里用document.write()随便打印啥,也可以一次删除。