J'essaie de remplacer la source img d'une source donnée à l'aide de jQuery. Par exemple, lorsque l'image src est smith.gif, remplacez-la par johnson.gif. Si williams.gif remplace à brown.gif etc.
EDIT: Les images sont extraites d'un fichier XML dans un ordre aléatoire, sans classe pour chacun.
C'est ce que j'ai essayé:
if ( $("img").attr('src', 'http://example.com/smith.gif') ) {
$(this).attr('src', 'http://example.com/johnson.gif');
}
if ( $("img").attr('src', 'http://example.com/williams.gif') ) {
$(this).attr('src', 'http://example.com/brown.gif');
}
Notez que mon code HTML contient de nombreuses images. Par exemple
<img src="http://example.com/smith.gif">
<img src="http://example.com/williams.gif">
<img src="http://example.com/chris.gif">
etc.
Alors, comment puis-je remplacer les images: SI img src = "http://example.com/smith.gif" puis affichez "http://example.com/williams.gif". etc. ...
Merci beaucoup
Voici ce que tu veux faire:
var oldSrc = 'http://example.com/smith.gif';
var newSrc = 'http://example.com/johnson.gif';
$('img[src="' + oldSrc + '"]').attr('src', newSrc);
Vous devez vérifier la méthode attr
dans les documents jQuery. Vous en abusez. Ce que vous faites dans les instructions if remplace simplement toutes les balises d'image src
par la chaîne spécifiée dans le deuxième paramètre.
Une meilleure façon de remplacer une série d'images source serait de les parcourir en boucle et de vérifier leur source.
Exemple:
$('img').each(function () {
var curSrc = $(this).attr('src');
if ( curSrc === 'http://example.com/smith.gif' ) {
$(this).attr('src', 'http://example.com/johnson.gif');
}
if ( curSrc === 'http://example.com/williams.gif' ) {
$(this).attr('src', 'http://example.com/brown.gif');
}
});