IE 在访问 textNode 属性时引发异常



到目前为止,我已经在

  • 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 将引发错误。我在尝试为元素创建唯一标识符时遇到了这个问题。

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

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

如果删除该空格,则会得到 null。

当你这样做时x.innerHTML ="<div></div>"意味着你实际上是在设置y to null,因为x没有子节点

相关内容

最新更新