2013-11-13 4 views
0

Одна функция не работает на IE8, но работает на google chrome и firefox.Код jquery не работает на ie8

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> 
+0

Вы можете установить скрипку –

+0

Любой образец данных. что такое значение XmlDom? –

+0

fiddle заблокирован в моем офисе – Annie

ответ

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); 
      } 
    }); 
3

Новые версии JQuery не поддерживают IE8 или под. Если вам необходимо их поддерживать, используйте migration plugin или версию jQuery, поддерживающую IE8.

1.9.1 например.

JQuery 1.x

1.x линия JQuery были серьезные изменения как в JQuery 1.9.0. Мы настоятельно рекомендуем рекомендовать вам использовать плагин jQuery Migrate, если вы используете , обновляя версии jQuery до 1.9, или вам нужно использовать плагины, которые еще не обновлены. Прочтите jQuery 1.9 Upgrade Guid и jQuery 1.9 release blog post для получения дополнительной информации.

JQuery 2.x

JQuery 2.x имеет тот же интерфейс, как JQuery 1.x, но не поддерживает Internet Explorer 6, 7 или 8. Все ноты в 1,9 Upgrade Руководство JQuery применимо и здесь. Поскольку IE 6/7/8 по-прежнему относительно распространены, мы рекомендуем использовать версию 1.x, если вы не уверены, что пользователи IE 6/7/8 посещают сайт. Пожалуйста, внимательно прочитайте 2.0 release notes .

Смежные вопросы