2013-02-18 89 views
1

我有这样的JS代码:的jQuery找到img标签,并从它那里得到SRC

var imgJPG = jQuery('img[src$=".jpg"]', '<div>' + 
      fullCode + '</div>').attr('href'); 

然而,它似乎并没有拿起图像的src? fullCode是HTML源代码。

的HTML:

<strong><span style="font-size: small;"> 
<img class="alignleft" title="ASHE" src="http://www.website.org/san-logo.jpg" 
alt="" width="198" height="192" />Design (D) is an at the Annual Conference, 
held July 15-18, 2012 in San, Florida.</span></strong> 

我这么想吗?

+0

你在.attr('src')寻找.attr('href')? – MarkSmits 2013-02-18 16:57:18

+0

你是对的,马克。 – StealthRT 2013-02-18 17:04:45

回答

0

你retreveing而不是“src”中

var imgJPG = jQuery('img[src$=".jpg"]', '<div>' + fullCode + '</div>').attr('src'); 
+0

是的,只是看到了!哈谢谢martriay! – StealthRT 2013-02-18 16:58:49

1

“HREF”难道你正在寻找href当你需要实际的属性是src

+0

Src和yep只是看到了!谢谢帕迪 – StealthRT 2013-02-18 16:59:17

2

jQuery文档不会说明它支持您正在使用的情况。 jQuery()的第二个参数是一个上下文参数(根据jQuery documentation)可以是DOM元素,文档或jQuery对象。 jQuery并没有说它支持它作为一个HTML字符串。

你应该首先需要加载该字符串转换成一个jQuery对象,以便它被变成实际的DOM元素是这样的:

var imgJPG = jQuery('img[src$=".jpg"]', jQuery('<div>' + 
     fullCode + '</div>')).attr('src'); 

另外,如果你想.src属性,这是该属性应检索而不是.href

+0

它现在正常工作,虽然现在这样做在OP中的方式。 – StealthRT 2013-02-18 17:03:45

+0

@StealthRT - 事实证明,jQuery将为上下文处理一个字符串,但没有记录这样做。如果你这样做,你就依赖于未来可能会改变的未公开的特征。将第二个参数封装在jQuery调用本身并遵循记录的接口会更安全。 – jfriend00 2013-02-18 18:42:51

1

尝试......

var imgJPG = jQuery('<div>' + fullCode + '</div>').find('img[src$=".jpg"]').attr('src'); 

,创建一个div元素,使用附带的HTML,然后执行find来获得图像。最后,获取图像src

+0

明白了,谢谢阿彻! :o) – StealthRT 2013-02-18 17:04:09

+0

很高兴帮助队友:) – Archer 2013-02-18 17:05:05