Как удалить скрытый элемент HTML? - PullRequest
4 голосов
/ 11 января 2012

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

Uncaught Error: NOT_FOUND_ERR: исключение DOM 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);

1 Ответ

4 голосов
/ 11 января 2012

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

function removeElement(el) {
  el.parentNode.removeChild(el);
}
...