繁体   English   中英

Javascript object.textContent ==仅在IE 9中未定义

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM