<!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++){
if(content.childNodes[i].nodeType!=1){
continue;
}else{
content.removeChild(content.childNodes[i]);
}
}
}
</script>
<button onclick="clearText()">清除节点内容</button>
</body>
</html>
这边控制台上报错“Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'”,然后单独打印nodeType时,php的h1显示为3也就是#text类型。
个人建议使用while循环
while (content.childNodes.length > 0) {
content.removeChild(content.firstChild);
}
只要有子节点,就删除第一个子节点