 
		慕移动6874463
2016-10-26 17:40
removeChild只能删除一个,循环删除时用这个就报错。换成remove就可以了!这是为什么?
 
				 
				sorry,作为一枚萌新,我怀着一腔热血回答了之后才发现,oh my god,这是两年前的问题,尴尬。
 
				 你的这一块都是废话:for (var i=0;i<num;i++){ content.remove(content.childNodes[i].innerHTML)  }
 就相当于这一句话:content.remove();  
 如果你非要用for 不是removeChild()没用,而是应该这么写:content.removeChild(content.firstChild);
 你能理解吗?即使你那种想法不报错,也是删不干净的,因为动态变化的长度你非要把它静态删,你写法就是错误的
 ,当然要报错。 
				<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 num=content.childNodes.length;
for (var i=0;i<num;i++){
content.remove(content.childNodes[i].innerHTML)
}
}
</script>
<button onclick="clearText()">清除节点内容</button>
这是Javas进阶篇中的删除节点removeChild()的内容的任务。for 循环中要把removeChild()换成remove()才有用
JavaScript进阶篇
469067 学习 · 22582 问题
相似问题