Удаление элемента через parentNode.removeChild вызывает исключение DOM 8

У меня есть примерно следующий код (Я удалил некоторые части, так как они не имеют значения):

Library.focus = function(event) {
    var element, paragraph;

    element = event.srcElement;

    paragraph = document.createElement("p");
    paragraph.innerText = element.innerText;

    element.parentNode.insertBefore(paragraph, element);        // Line #1
    element.parentNode.removeChild(element);                    // Line #2
};

У меня проблема в том, что последний вызов, который я пронумеровал как строку #2, выдает это:

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8

Обратите внимание, что предыдущая строка #1 работает нормально и перед ней вставляется узел абзаца. Element — это существующий элемент, а также существуют как element.parentNode, так и element.parentNode.removeChild.

Я нахожу это нелогичным, поскольку элемент по определению является дочерним элементом своего parentNode. Может быть, StackOverflow сможет мне помочь здесь?

8
задан Josh Unger 4 March 2013 в 04:03
поделиться