[英]Javascript object.textContent == undefined in IE 9 only
我在IE9上遇到以下代码问题:
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 =未定义
Test1 =未定义
我的XML:
<error>
<missing>1</missing>
<missing>2</missing>
<missing>a</missing>
</error>
我只想返回节点“缺失”的值。
非常感谢您的帮助。
我在以下站点上找到了解决方案: http : //www.chezneg.fr/leblog/chezneg-leblog.php?id_art=125
看来,IE和FF解释器不会以相同的方式读取XML文档。
对于FF,错误标记位于此处:data.lastChild.lastChild.childNodes
对于IE,错误标记位于此处:data.lastChild.lastChild.lastChild.lastChild.childNodes
(调试器的dixit)
因此,最好通过以下代码定位错误标签:data.getElementsByTagName('error');
无论如何,非常感谢Esailija的帮助!
我已通过以下代码解决了IE9中的关闭问题:
function getText(el) {
return el.textContent || el.text;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.