jQuery: как найти изображение по src - PullRequest
51 голосов
/ 07 мая 2009

Мне нужно найти img по имени и src. Я пробовал следующее безрезультатно.

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

HTML:

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

против

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

Ответы [ 4 ]

83 голосов
/ 07 мая 2009

не видя 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"));
6 голосов
/ 07 мая 2009

Попробуйте потерять кавычки:

var s = $("img[src=../../images/greendot.gif][name=BS]");
4 голосов
/ 28 апреля 2011

Браузеры добавляют полный путь к атрибутам src, href и аналогичным. Таким образом, несмотря на то, что элемент определен с относительным путем, атрибут DOM 'src' содержит имя домена и полный путь. Использование синтаксиса [src $ = "..."] или указание полного имени домена, по-видимому, являются единственными вариантами поиска изображений с помощью src с помощью jQuery.


Я могу ошибаться здесь. Свойство src объекта image сообщает о полном пути, но атрибут должен содержать путь, указанный в коде. [src = "относительный / путь"] работает в последней версии jQuery, возможно, это была ранняя версия, где она не работала.

0 голосов
/ 19 февраля 2013

Измените свой тег 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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...