jQuery - 从HTML Text获取属性 - IE无法正常工作

时间:2010-09-07 23:03:30

标签: jquery ajax

我正在使用$ .ajax方法来获取HTML文本。 我想解析这个html,从“img”标签获取“src”。 我这样做了:

$.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 :(得分:0)

在您的代码中:

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

第一行将响应包装在jQuery对象中,但随后使用html()返回消息首先出现的相同HTML。然后,再次包装源。

您应该使用:

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

...获取src

答案 1 :(得分:0)

我真的不知道为什么它适用于任何浏览器,上下文应该是元素,文档或jQuery对象,而不是字符串。

使用jQuery对象作为上下文,而不是从中获取html代码:

var code = $(msg); 
var title = $("#immagine", code).attr("src"); 
alert( title);