2013-04-20 2 views
0

나는 아래의 코드, 나는이 오페라에서 오류가 계속 문제가 있어요 :제거 자식 노드 오류

function addInput() { 
    var div = document.createElement("div"); 
    var txt = "<div>Upload image: <input type='file' name='slika[]' /> <span onclick='removeInput(this.parentNode)' />Remove <img src='catalog/remove_icon.png' /></span></div>"; 
    div.innerHTML = txt; 
    document.getElementById('text').appendChild(div); 
} 

function removeInput(el) { 
    document.getElementById('text').removeChild(el); 
} 

질문은 어떻게와 previosly addInput 기능에 의해 생성 된 요소를 제거하려면? 역동적 인 요소를 제거하는 올바른 방법인가요?

+0

봐 저장해야). – SomeoneS

답변

1

el.parentNode.removeChild(el);

+0

그래, 그 해결책입니다. – SomeoneS

+0

그래서 나는 표를 붙이게되어 기쁘다. ^^ – Adidi

+0

오, 물론, 나는 기다릴 시간이 없었다. (정확한 답을 표시 할 수있을 때까지 2 분이 있었다.) 이제 Tnx가 표시된다. – SomeoneS

0

첫 번째 경우 : createElement가 기본적으로 "<div></div>"을 생성하므로 innerHTML에 "<div>"을 쓸 필요가 없습니다.

: 당신이 마지막으로 삽입 된 요소를 삭제하려는 경우, 당신은 당신이 나 한테 물어 그 물건이있는 경우 (전역 변수에 삽입 한 후 기능 addInput에서

var lastInserted = null; 
function addInput() { 
    var div = document.createElement("div"); 
    var txt = "Upload image: <input type='file' name='slika[]' /> <span onclick='removeInput(this.parentNode)' />Remove <img src='catalog/remove_icon.png' /></span>"; 
    div.innerHTML = txt; 
    document.getElementById('text').appendChild(div); 
    lastInserted = div; 
} 

function removeInput() { 
    if(!lastInserted)return; 
    document.getElementById('text').removeChild(lastInserted); 
} 
+0

마지막으로 삽입 된 요소뿐만 아니라 삽입 된 요소도 포함됩니다. – SomeoneS

+1

좋아, 오류의 이유 : ** 엘 ** 나쁜 참조 – Ozerich