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"/>
Ответы
Ответ 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');