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

Error When Trying to Remove Dom Node from Dom Document

本文关键字:dom 节点 出错 删除 文档      更新时间:2023-09-26

我有以下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]);

最后一段代码导致我的网站显示"无法显示页面"消息。幕后有什么我不明白的事情吗?为什么我不能删除子节点?附加节点与修改现有节点的属性一样工作正常,但我无法删除节点。

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]);