尝试从Dom文档中删除Dom节点时出错

时间:2012-05-28 18:29:03

标签: javascript dom asp-classic

我有以下ASP(js版)代码:

var doc = Server.CreateObject("HTMLFILE");
var doc.write(content);
// the value of content has been set elsewhere and is not of concern
var elements = doc.getElementsByTagName("br");

到目前为止,这么好。这是我遇到麻烦的地方:

if ((elements) && (elements.length > 0))
doc.removeChild(elements[0]);

这最后一段代码导致我的网站显示“无法显示页面”消息。幕后是否有一些我不理解的事情?为什么我不能删除子节点?添加节点的工作正常,修改现有节点的属性,但我无法删除节点。

1 个答案:

答案 0 :(得分:2)

应该在要删除的节点的父节点上调用

removeChild()

if (elements && elements.length > 0)
    elements[0].parentNode.removeChild(elements[0]);

或者有时候有一个辅助函数是有帮助的:

function removeNode(node) {
    node.parentNode.removeChild(node);
}

然后,你可以这样做:

if (elements && elements.length > 0)
    removeNode(elements[0]);