移除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是所要删除的节点

你可能感兴趣的:(dom)