我正在尝试从 Firefox 中的 DOM 中删除除法元素(模式窗口)。
我第一次删除模态窗口;一切正常。当我第二次打开窗口并尝试将其移除时;这没用。
具体来说,我收到一条错误消息,指出找不到模态窗口的父元素。
父元素是 document.body,我尝试使用 parentNode.removeChild() 和 parentNode.replaceChild()。但是,我在 Chrome 或 Internet Explorer 8 中没有任何问题。
从 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;
},
萤火虫错误
NotFound Error: Node was not found(未找到的节点是document.body/模态窗口划分的父节点)