新手如下問
為什么點擊清除時剛開始一次沒反應,第二次就一下子刪了兩個,隨后點就是一次一個,why?
<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++)
? {
? ? ?x= content.removeChild(content.childNodes[i]);
? }
? // 在此完成該函數(shù)
?if(content.childNodes.length<1)
?alert("No childNodes to be delete!")
??
}
</script>
<button onclick="clearText()">清除節(jié)點內容</button>
2016-06-11
可能有兩個原因,一是因為空白符也算子節(jié)點,二是因為你把0號子節(jié)點刪除后后面的1號子節(jié)點往前補充成了0號子節(jié)點。你可以試著加入一個if語句判斷下子節(jié)點的種類,種類為1就刪除;還可以把遍歷順序改為倒序,for(var i=content.childNodes.length-1;i>=0;i--) ,你可以試一下是否能夠解決。:)