js removeChild 方法


1. 概述

  刪除后的節點雖然不在文檔樹中了,但其實它還在內存中,可以隨時再次被添加到別的位置。

   當你遍歷一個父節點的子節點並進行刪除操作時,要注意,children屬性是一個只讀屬性,並且它在子節點變化時會實時更新

// 拿到待刪除節點:
var self = document.getElementById('to-be-removed');
// 拿到父節點:
var parent = self.parentElement;
// 刪除:
var removed = parent.removeChild(self);
removed === self; // true

 

2. example

 

<!DOCTYPE html>
<html>
<head>
</script>
</head>
<body>
<ul id="test-list">
    <li>JavaScript</li>
    <li>Swift</li>
    <li>HTML</li>
    <li>ANSI C</li>
    <li>CSS</li>
    <li>DirectX</li>
</ul>
<script>
var p= document.getElementById('test-list');
var length = p.children.length;
var i=0;
for(; i<length;  ){
    var li = p.children[i];
    var text = li.innerText;
    if(text!=='JavaScript' && text!=='HTML' && text!=='CSS'){

       p.removeChild(li);
       alert(p.children.toString());
       length--;
    }else{
       i++;
    }
}
// 測試:
;(function () {
    var
        arr, i,
        t = document.getElementById('test-list');
    if (t && t.children && t.children.length === 3) {
        arr = [];
        for (i = 0; i < t.children.length; i ++) {
            arr.push(t.children[i].innerText);
        }
        if (arr.toString() === ['JavaScript', 'HTML', 'CSS'].toString()) {
            alert('測試通過!');
        }
        else {
            alert('測試失敗: ' + arr.toString());
        }
    }
    else {
        alert('測試失敗!');
    }
})();
</script>
</body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM