2012-03-02 41 views
0

我想从这个jQuery html()获取src。jquery试图使用HTML获取src()

所以使用jQuery的html()我的警报显示了该输出

什么,我要的是SRC。请参阅下面的代码:

var $boxes = $(".slideWrap"), 
       var hdnImg = $boxes.first().show(); 
       var p = hdnImg.html(); //OUTPUTS <img src="../image090.png" id="ctl00_ContentPlaceHolder1__Graphics1"> 
       alert(p.attr("src")); // DOES NOT WORK?? 

为什么p.attr(“src”)不起作用?我想获取HTML,然后从HTML获取src。

任何人请帮忙吗?

+1

你想'hdnImg.attr( “SRC”)' – scibuff 2012-03-02 14:12:09

+0

试过出现错误 “未定义” 的消息。有没有从jquery html()获取src的方法。 – user929153 2012-03-02 14:13:58

回答

3

According to the documentation.html()返回一个字符串。字符串没有.attr()方法。

如果您想要元素中的属性,请使用.attr()上的元素具有所需的属性。


这里的问题的另一部分...

var p = hdnImg.html(); //OUTPUTS <img src="../image090.png" id="ctl00_ContentPlaceHolder1__Graphics1"> 

由于输出显示<img>的HTML和.html()方法返回的HTML 内容,那么这意味着图像嵌套。

要获得图像,您需要向下遍历它。做到这一点,而不是...

var p = hdnImg.children('img').html(); 
+1

非常好的解释谢谢:-)作品像一个款待.. – user929153 2012-03-02 14:26:46

0

你不想要的HTML,你希望的jQuery包裹的DOM元素:hdnImg.attr("src");

0

p不是一个jQuery对象。

尝试:

$(p).attr("src") 
2

我认为你正在寻找

hdnImg.children('img').attr('src') 
+0

谢谢你的作品! :-) – user929153 2012-03-02 14:27:47

0

的问题是,你的hdnImg变量不是实际IMG元素,但父元素(即任何具有.slideWrap一类)

首先得到img元素是这样的:

var img = hdnImg.find("IMG"); 

,你可以得到src

var src = img.attr("src");