Подтвердить что ты не робот

JQuery: как найти изображение по его src

Мне нужно найти 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"/>
4b9b3361

Ответ 1

не увидев 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"));

Ответ 2

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

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

Ответ 3

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


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

Ответ 4

Измените свой тег img следующим образом:

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

Я имею в виду добавить в свой атрибут title изображения и задать им имя файла.

Когда вам нужно получить доступ к определенному изображению, вы можете сделать это, как показано ниже:

//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');