Ruby's Louvre

每天学习一点点算法

导航

移除DOM节点

在IE中移除容器类节点,会引起内存泄露,最好是创建一个新的节点,比如div,然后将要删除的节点放入这个div中,再将div的innerHTML清空。其它的直接removeChild就可以了。

 var removeNode = !+"\v1" ? function(){
    var d;
    return function(node){
        if(node && node.tagName != 'BODY'){
            d = d || document.createElement('DIV');
            d.appendChild(node);
            d.innerHTML = '';
        }
    }
}() : function(node){
    if(node && node.parentNode && node.tagName !=  'BODY'){
        node.parentNode.removeChild(node);
    }
}

移除节点:

xxx.removeChild(obj) xxx是所删除节点的父节点

xxx.removeNode(true) xxx是所要删除的节点

posted on 2009-07-17 15:39  司徒正美  阅读(8850)  评论(9编辑  收藏  举报