DOM 노드 제거

2206 단어 dom
IE에서 용기 클래스 노드를 제거하면 메모리 유출을 일으킬 수 있습니다. 예를 들어div를 만들고 삭제할 노드를 이div에 넣고,div의 innerHTML를 비우는 것이 좋습니다.다른 건 그냥 리모브차일드면 돼요.

 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);
    }
}





노드 제거

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);
}
}
var remove = function(id){
var ddd = document.getElementById(id);
removeNode(ddd);
}
var check = function(id){
var ddd = document.getElementById(id);
alert(ddd);
}





제거할 부모 요소

하위 요소





있는지 확인





실행 코드
노드를 제거하려면 다음과 같이 하십시오.
xxx.removeChild(obj) xxx는 삭제된 노드의 상위 노드입니다.
xxx.removeNode(true) xxx는 삭제할 노드입니다.

좋은 웹페이지 즐겨찾기