54 votes

jQuery: Comment trouver une image par sa src

Je dois trouver un img par nom et src. J'ai essayé ce qui suit en vain.

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

Le html:

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

contre

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

86voto

Jared Points 3852

sans voir le code HTML, je dirais de vérifier votre chemin.

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

étant donné le code HTML suivant:

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

cette jquery a fonctionné:

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

6voto

karim79 Points 178055

Essayez de perdre les citations:

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

4voto

Mike Points 21

Les navigateurs ajouter le chemin d'accès complet à la src, href et des attributs similaires. Ainsi, même si l'élément est défini par le chemin d'accès relatif, dans les DOM 'src' attribut contient le nom de domaine et le chemin d'accès complet. À l'aide de [src$="..."] syntaxe ou en spécifiant le nom de domaine complet semblent être des options pour la recherche d'images par le src avec jQuery.


J'ai peut-être mal ici. la propriété src de l'image de l'objet de rapports chemin d'accès complet, mais l'attribut doit contenir le chemin d'accès comme indiqué dans le code. [src="parent/path"] travaille dans la dernière version de jQuery, c'était peut-être une première version où il n'a pas de travail.

0voto

Turik Points 2

Changez votre tag img comme ceci:

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

Je veux dire ajouter à l'attribut title de vos images et leur donner le nom du fichier.

Lorsque vous devez accéder à sertain image, vous pouvez le faire comme suit:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X