【问题标题】:DOM Exception: HIERARCHY_REQUEST_ERR (3) errorDOM 异常:HIERARCHY_REQUEST_ERR (3) 错误
【发布时间】:2023-04-07 18:26:01
【问题描述】:

以下代码在 chrome 和 Firefox 中运行良好,但在 IE 9.0 中中断。

message.nodeTree.childNodes[1].childNodes[0].childNodes[0].appendChild(pkf_util.createXmlTextNode(text));

当我尝试通过 textarea 输入内容时,它带有 SCRIPT5022:

DOM 异常:HIERARCHY_REQUEST_ERR (3) 第 481 行字符 29;

任何想法为什么它不能在 IE 9.0 中工作?

【问题讨论】:

  • 没有看到你的 HTML 结构就无法判断,但是代码确实看起来很脆弱。
  • 既然你已经标记了 jQuery,你也应该使用它,而不是导航“第二个孩子的第一个孩子的第一个孩子”样式,而是“在被点击的 div 中使用 .data 类的输入" 风格
  • 假设返回函数 createXmlTextNode() 是什么?
  • "Dom 异常 3" 表示您试图在不属于它的地方附加一些内容,例如将不是 HTML 节点的内容附加到 HTML 文档中。

标签: javascript jquery internet-explorer-9 domexception


【解决方案1】:

我知道问 Q 已经很久了,但我是根据错误消息到达的。 特别是在我的情况下,我收到以下错误:“HIERARCHY_REQUEST_ERR: DOM Exception 3: A Node was inserted something it doesn'tly.”。

我试图将我使用 jquery 创建的节点附加到我的 html 文档中的其他节点。 结果是我错误地使用了$('div') 而不是$('<div>') 来创建新的(附加的)节点。

我希望这对将来的某人有所帮助。

【讨论】:

  • 谢谢epeleg,我也犯了同样的错误。
【解决方案2】:

这可以是一个解决方案...

var element = document.createElement('iframe');
element.src = url;
document.getElementsByTagName('body')[0].appendChild(element);    

祝你好运

【讨论】:

    【解决方案3】:

    DOM exception 3 表示您试图将一个元素插入到 DOM 中不属于它的位置。 (ref.)

    可能的原因:

    • IE9 不会将库创建的 XML 节点视为有效的 DOM 节点。
    • 创建的节点是一个有效的 DOM 节点,但它被附加到它不属于的某个地方(例如附加到应该是叶子的节点的任何东西)
    • 创建的节点实际上并不是一个新元素,而是被附加到的节点的父节点。这将归类为库中的错误。
    • 如果你试图在任何地方附加一个null,你实际上是在请求一个DOM 异常。也许您的库在 IE9 上失败了?

    pkf_util 上的 Google 搜索返回...这个问题,因此我们不能排除 pkf_util 中的错误。

    【讨论】:

    • 不确定这是怎么发生的……提供了一个新的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    相关资源
    最近更新 更多