我有一个问题与IE9用下面的代码:的Javascript object.textContent ==未定义在IE 9只
var XMLDocument = data;
var erreurs = new Array();
var test = data.lastChild.lastChild.childNodes;
for(var i=0; i<test.length; i++)
{
//var testx = test[i].textContent;
//alert("Test"+i+" = "+testx);
var testx = getText(test[i]);
alert(testx);
erreurs[i] = testx;
}
function getText(el) {
return el.textContent || el.innerText || el.nodeValue || '';
}
在FF,Opera和Safari,该代码工作正常。 在IE中,它给了我:
TEST0 =未定义
测试1 =未定义
我的XML:
<error>
<missing>1</missing>
<missing>2</missing>
<missing>a</missing>
</error>
我只是想返回节点 “失踪” 的值。
非常感谢您的帮助。
你的代码'返回el.textContent || el.innerText || el.nodeValue || '';那么问题是什么? – Esailija
http://jsfiddle.net/BdCgL/1/工作得很好,我只编辑了ie7和ie8的'nodeValue'部分,但是甚至在他们没有提醒'未定义'之前,ie9没有被编辑好。 – Esailija
经过断点调试后,看起来IE的解释器XML返回与FF不同的文件。我在别处找到了缺失的节点。像这样:data.lastchild.lastchild.lastchild.lastchild.childnode.text 所以,我必须搜索逐个节点名称而不是探索树... – Zorkzyd