0

FirefoxのDOMから分割要素(モーダルウィンドウ)を削除しようとしています。

初めてモーダルウィンドウを削除したとき。すべてが正常に動作します。ウィンドウをもう一度開いて削除しようとすると、それは動作しません。

具体的には、モーダルウィンドウの親要素が見つからないというエラーメッセージが表示されます。

親要素はdocument.bodyで、parentNode.removeChild()とparentNode.replaceChild()を使用してみました。ただし、ChromeまたはInternetExplorer8では問題はありません。

DOMからノードを削除する適切な/防弾の方法は何ですか?

HTML:

<body>

<!--The modal window:!-->

<div id="modalwin"></div>


<!--An overlay division stacked behind the
 modal window using CSS z-index: !-->

<div id="uiOverlay"></div>


<!--The listener:!-->

<a href="#" onClick='Delete(modalwin); Delete(uiOverlay); return false;' />

</body>

Javascript

Delete: function (elem) {

        if (!elem) {

            return false;
        }
        var blank = document.createTextNode(' ');

        try {

            var ref = elem.parentNode.replaceChild(blank, elem); 

        } catch (err) {

           elem.style.display = "none";
        }

      //  return true;
    },

Firebugエラー

NotFoundエラー:ノードが見つかりませんでした(見つからないノードはdocument.body /モーダルウィンドウ分割の親です)

4

1 に答える 1