2013-04-20 5 views
0

У меня возникли проблемы с ниже кодом, я получаю эту ошибку в Opera:Удалить Ошибку дочернего узла

Uncaught exception: DOMException: NOT_FOUND_ERR 

И это в Chrome:

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8 

Это сообщение относится к функции removeInput:

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

Вопрос: как удалить элемент, ранее созданный функцией addInput? Это правильный способ удалить элемент динамически?

+0

Посмотрите на функции addInput (если это вещь, которую вы просите у меня). – SomeoneS

ответ

1

el.parentNode.removeChild(el);

+0

Yep, это решение. – SomeoneS

+0

, поэтому я буду рад получить маркировку, а затем ^^ – Adidi

+0

О, конечно, у меня не было времени ждать (было что-то вроде 2 минут, пока я не могу отметить ответ как правильный), теперь он отмечен :) Tnx! – SomeoneS

0

для первого: вам не нужно писать «<div>» в innerHTML, потому что createElement создает «<div></div>» по умолчанию.

для второй: если вы хотите, чтобы удалить последний добавленный элемент, вам необходимо сохранить его после вставки в глобальной переменной

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

ok, ошибка причина: ** el ** имеет плохой ссылка – Ozerich

Смежные вопросы