幕布斯7253233
2018-08-25 00:11
<!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 childs=content.childNodes while ((childs.length>0)&&(childs[0].nodeType!=1)) { content.removeChild(childs[0]) } //删除节点 var newDiv=document.createElement("div") if (childs.length>0) { var removeNode=content.removeChild(childs[0]) newDiv.innerHTML="clear "+removeNode.innerHTML+" done" } else { newDiv.innerHTML="没有可以删除的节点了" } content.parentNode.appendChild(newDiv) //逐个显示已删除完成}</script><button onclick="clearText()">清除节点内容</button></body></html>
这是学生热门代码的第二个。
显示删除已完成的if语句的条件: if (childs.length>0)
为什么不能写if ((childs.length>0)&&(childs[0].nodeType!=1))
写成这样删除不了节点
有点理解不了,可能我childs[0].nodeType!=1没有理解好吧
上面while() 执行后 conCN[0].nodeType != 1 这句就成==1了。所以if()就不成立导致if括号里面newDiv.innerHTML = "clear \"" + rmNode.innerHTML + "\" done!";(其实这句话就是赋值null的意思 如果要完全删除对象,给 x 赋 null 值,)
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题