關於再js中使用for迴圈刪除節點
阿新 • • 發佈:2018-12-13
<div id="content"> <h1>html</h1> <h1>php</h1> <h1>javascript</h1> <h1>jquery</h1> <h1>java</h1> </div>
1. 刪除該節點的內容,先要獲取子節點。
2. 然後使用迴圈遍歷每個子節點。
3. 使用removeChild()刪除節點。
問題在於迴圈遍歷時習慣性的用了下面這樣的辦法
function clearText() {var content=document.getElementById("content"); // 在此完成該函式 for(var i=0;i<content.childNodes.length;i++) { content.removeChild(content.childNodes[i]); } }
結果是無法刪除乾淨的,會剩下php 和jqurey
原因是在遍歷時因為刪除了子節點,content.childNdes.length值已經減小,影響了遍歷結果。
合適的迴圈遍歷辦法應該是
function clearText() {var content=document.getElementById("content"); for(var i=content.childNodes.length-1;i>=0;i--){ content.removeChild(content.childNodes[i]); } }