2009-05-07 40 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

相關問題