2012-01-11 4 views
4

Я пытаюсь удалить элемент HTML после изменения его видимости на hidden, но при запуске the following code я получаю следующую ошибку. Похоже, я не могу получить дескриптор элемента, потому что он скрыт.Как удалить скрытый элемент HTML?

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8 elementHidden

Есть ли способ, чтобы удалить узел, который скрыт с помощью чистого JavaScript? Из-за конфликтов я не могу использовать любые библиотеки, такие как jQuery.


код из jsFiddle

function elementHidden(e) { 
    if (!e.target.style.opacity) { 
     console.log('Delete this mofo!'); 
     document.removeChild(e.target.parent, e.target); 
    } 
} 

document.getElementById("curtain").addEventListener('click', elementHidden, false); 
+0

Как вы это делаете? –

+1

Если вы используете jQuery, используйте '$ (" # thing-you-want-to-remove "). Remove();'. – dyelawn

+0

Это не должно быть проблемой! Не могли бы вы поделиться своим кодом? Было бы неплохо, если бы вы могли имитировать проблему в JsFiddle.net :-) – Qorbani

ответ

4

Чтобы удалить узел, вы должны вызвать https://developer.mozilla.org/En/DOM/Node.removeChild, это не метод document. Неважно, является ли это скрытым элементом или нет.

function removeElement(el) { 
    el.parentNode.removeChild(el); 
} 
Смежные вопросы