0

1 つの関数は IE8 では動作しませんが、Google chrome と firefox では動作します。

XmlDom には xml データが含まれます

 $(XmlDom).find('Message').each(function(){
        if($(this).attr('id')==id)
        {
          msg=  $(this).find('messageText').text();

        }

    });

助けてください

ここにサンプルデータがあります

      <Messages> 
      <Message id="4">      
      <messageText>text tenvcnvxtn.</messageText>
      </Message>
      <Message id="5">
      <messageText>text textn.</messageText>
      </Message>
    </Messages>
4

2 に答える 2

3

新しいバージョンの jQuery は IE8 以下をサポートしていません。それらをサポートする必要がある場合は、移行プラグインまたは IE8 をサポートするバージョンの jQuery を使用してください。

たとえば、1.9.1。

jQuery1.x

jQuery 1.x ラインは、jQuery 1.9.0 で大幅に変更されました。1.9 より前のバージョンの jQuery からアップグレードする場合、またはまだ更新されていないプラグインを使用する必要がある場合は、jQuery Migrate プラグインも使用することを強くお勧めします。詳細については、jQuery 1.9 アップグレード ガイドjQuery 1.9 リリースのブログ投稿をお読みください。

jQuery 2.x

jQuery 2.x には jQuery 1.x と同じ API がありますが、Internet Explorer 6、7、または 8 はサポートされていません。jQuery 1.9 アップグレード ガイドのすべての注意事項がここにも適用されます。IE 6/7/8 はまだ比較的一般的であるため、IE 6/7/8 ユーザーがサイトにアクセスしていないことが確実でない限り、1.x バージョンを使用することをお勧めします。2.0 のリリース ノート をよくお読みください。

于 2013-11-13T06:48:40.680 に答える
0

IE8 では、HTML ドキュメントを使用します。XML は認識されません。XML を使用する場合は、IE XML パーサーで解析する必要があります。

    var XmlDom = "<messages>" +
        "<message id=\"msg1\">" +
            "<messageText>message 1</messageText>" +
        "</message>" +
        "<message id=\"msg2\">" +
            "<messageText>message 2</messageText>" +
        "</message>" +
        "<message id=\"msg3\">" +
            "<messageText>message 3</messageText>" +
        "</message>" +
         "</messages>";
    var id = "msg2";
    var xml = new ActiveXObject("Microsoft.XMLDOM");
    xml.loadXML(XmlDom);

    if (xml.parseError.errorCode != 0) {
            var err = xml.parseError;
            console.log(err.reason);
    }

    $("messages", xml).find("message").each(function(){
            if($(this).attr("id") == id) {
                    msg =  $(this).find("messageText").text();
                    console.log(msg);
            }
    });
于 2013-11-13T08:18:27.230 に答える