js removeChild 方法深入理解
更新时间:2016年08月16日 08:52:21 投稿:jingxian
下面小编就为大家带来一篇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>
以上这篇js removeChild 方法深入理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
array.prototype.silce.call 理解分析
在很多框架中与遇到这个方法,但一时没去研究这个方法,只要前段时间被问到,尴尬无奈收场。所以学习就要追根究底的精神,废话少说,说正题。2010-04-04深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法...2007-04-04
最新评论