0

以下代码在 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 中工作?

4

3 回答 3

9

我知道自问 Q 以来已经很长时间了,但我是根据错误消息到达它的。特别是在我的情况下,我收到以下错误:“HIERARCHY_REQUEST_ERR:DOM 异常 3:一个节点被插入到它不属于的地方。”。

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

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

于 2013-05-02T12:05:32.230 回答
0

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

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

祝你好运

于 2013-11-22T13:04:20.993 回答
0

DOM exception 3意味着你试图将一个元素插入到 DOM 中不属于它的位置。(参考

可能的原因:

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

谷歌搜索pkf_util返回......这个问题,所以我们不能排除pkf_util.

于 2012-11-12T13:01:07.730 回答