DOM异常:HIERARCHY_REQUEST_ERR(3)错误

时间:2012-11-12 12:38:10

标签: javascript jquery internet-explorer-9 domexception

以下代码在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中运行?

3 个答案:

答案 0 :(得分:9)

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

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

我希望这将有助于将来的某些人。

答案 1 :(得分:0)

DOM exception 3表示您已尝试将元素插入DOM中不属于的位置。 (ref.

可能的原因:

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

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

答案 2 :(得分:0)

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

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