我有一個問題與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