2009-05-07 41 views
45

我需要通过名称和src来查找img。我一直在尝试以下方法无济于事。jQuery:如何通过其src找到图像

var s = $("img[src='/images/greendot.gif'][name='BS']"); 

的HTML:

<img alt="This item is active." name="BS" src="/images/greendot.gif"/> 

VS

<img alt="This item is not active." name="BS" src="/images/spacer.gif"/> 
+0

通过名称和来源,你想找到多张图片? – TStamper 2009-05-07 15:41:21

+0

你能发表一个html的例子吗? – Jared 2009-05-07 15:42:55

+0

是的,我是。 s var将是一个我将检查长度的数组。 – kjgilla 2009-05-07 15:43:24

回答

76

没有看到HTML我想说的检查您的路径。

$("img[src$='greendot.gif'][name='BS']") 

给出以下HTML:

<img src="http://assets0.twitter.com/images/twitter_logo_header.png" name="logo" /> 

这个jQuery工作:

var x = $("img[src$='twitter_logo_header.png'][name='logo']"); 
alert(x.attr("src")); 
+5

当我们有完整的路径时,不需要$。 – karim79 2009-05-07 15:53:12

6

尝试不失报价:

var s = $("img[src=../../images/greendot.gif][name=BS]"); 
+0

这没有帮助。 – kjgilla 2009-05-07 15:48:40

+0

试试你在HTML中显示的路径,即../../images/greendot.gif。我编辑了答案。 – karim79 2009-05-07 15:51:12

+0

那里有混乱。我原本有../../images/greendot.gif它仍然没有工作。然后我切换到动态添加图像上的/图像(添加了js),但是从.net下来的图像仍然是../。无论如何,attr搜索中关于'/'的东西都在搞砸了。 – kjgilla 2009-05-07 15:59:40

4

浏览器添加完整路径为src,href和类似的属性。所以即使元素是用相对路径定义的,在DOM'src'属性中也包含域名和完整路径。使用[src $ =“...”]语法或指定完整域名似乎只是通过jQuery使用src查找图像的选项。


我在这里可能是错的。图像对象的src属性报告完整路径,但属性应包含代码中指定的路径。 [src =“relative/path”]在最新的jQuery版本中工作,也许它是早期版本,它不起作用。

0

更改您的img标签是这样的:

<img src="path/to/imgage/img.jpg" title="img.jpg" /> 

我的意思是添加到您的图片标题属性,并将它们的文件名。

当你需要访问sertain图像,你可以做到这一点,如下:

//Finding image that you need using 'title' attribute; 
var imageTag = $("img[title='imageName']"); 

//Then if you need to do something with it; 
imageTag.attr('src', 'path/to/newImage/newImage.jgp'); 
imageTag.attr('title', 'newImage.jpg'); 
+0

为什么投票的人,这不是一个优雅的方式来剥皮这只猫,但嘿!那是一个去皮的猫人。 – qualebs 2017-07-10 18:56:19

相关问题