jQuery - получение атрибута из HTML-текста - IE не работает - PullRequest
0 голосов
/ 08 сентября 2010

Я использую метод $ .ajax, чтобы получить HTML-текст. Я хотел бы разобрать этот html, получив "src" из тега "img". Я сделал так:

$.ajax({ 
    type: "GET", 
    url: "image1.html", 
    success: function(msg){                  
        var htmlCode = $(msg).html(); 
        var title = $("#immagine", htmlCode).attr("src"); 
        alert( title);
    }
});

Я могу получить правильный результат от Firefox и Chrome. Они предупреждают правильное значение "src" (например: 'pics / image.jpg'). Но IE возвращает «неопределенное» предупреждение. Кто-нибудь может мне помочь? Спасибо

Ответы [ 2 ]

0 голосов
/ 08 сентября 2010

Я действительно не знаю, почему это работает в любом браузере, контекст должен быть элементом, документом или объектом jQuery, а не строкой.

Использование объекта jQuery в качестве контекста вместо получения html-кода из него:

var code = $(msg); 
var title = $("#immagine", code).attr("src"); 
alert( title);
0 голосов
/ 08 сентября 2010

В вашем коде:

var htmlCode = $(msg).html(); 
var title = $("#immagine", htmlCode).attr("src"); 

Первая строка оборачивает ответ в объект jQuery, но затем использует html(), чтобы вернуть тот же HTML, что и сообщение.Затем вы снова оборачиваете источник.

Вы должны использовать:

$(msg).find("#immagine").attr("src"); 

... чтобы получить src

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...