IE访问textNode属性时抛出异常

时间:2014-01-10 15:31:09

标签: javascript internet-explorer runtime-error internet-explorer-10

到目前为止,我已经在

中对此进行了测试
  • IE 10 win8
  • IE 8,9模拟win8

以下代码段会导致异常"invalid argument"。我做了一些快速的研究,并没有在任何地方发现这个错误...

var x = document.createElement('div');
x.innerHTML = "a text node is here and intended <span>stuff</span>"; 
var y = x.childNodes[0];
y.nodeValue; //doesnt throw
x.innerHTML = "<div></div>";

y.nodeValue; //Throws "invalid argument" in ie when accessing nodeValue or just about any other property
如果您尝试访问已删除文本节点上的几乎任何属性,IE 10将抛出错误。在尝试为元素创建唯一标识符时,我遇到了这个问题。

任何设置不同的人都可以验证此行为吗?

1 个答案:

答案 0 :(得分:0)

x.childnodes返回对第一个孩子的引用(如果你的代码从下一行开始,则可以是\n,或者因为你的代码在span标记之前有空格,它可以是空格),这是实时的。

如果删除该空格,则为空。

当您执行x.innerHTML ="<div></div>"表示您实际上正在设置y to null,因为x没有子节点

相关问题