下面小編就為大家?guī)硪黄猨s removeChild 方法深入理解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。
1. 概述
刪除后的節(jié)點雖然不在文檔樹中了,但其實它還在內(nèi)存中,可以隨時再次被添加到別的位置。
當你遍歷一個父節(jié)點的子節(jié)點并進行刪除操作時,要注意,children屬性是一個只讀屬性,并且它在子節(jié)點變化時會實時更新
// 拿到待刪除節(jié)點:
var self = document.getElementById('to-be-removed');
// 拿到父節(jié)點:
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>
以上這篇js removeChild 方法深入理解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考