0

次のコードで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>

「欠落している」ノードの値を返したいだけです。

ご助力ありがとうございます。

4

2 に答える 2

3

このサイトで解決策を見つけました: 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
(デバッガーを終了)

したがって、次のコードを使用してエラー タグを見つけることをお勧めします。

とにかく、助けてくれたEsailjaに感謝します!

于 2012-05-29T20:07:30.147 に答える
3

このコードでIE9のクローズの問題を修正しました:

function getText(el) {
    return el.textContent || el.text;
}
于 2013-02-26T12:54:20.157 に答える