Comment modifier efficacement l'attribut d'image "src" de l'URL relative à l'absolu en utilisant jQuery?

J'ai besoin de changer la src pour une image html d'une URL relative à une URL absolue.

J'utilise le code suivant. UrlRelative et urlAbsolute sont créés correctement mais je ne peux pas modifier l'image dans la dernière ligne.

Qu'est-ce qui pourrait être erroné dans mon script?

 ..... // other code here request.done(function(resp) { var imgTags = $('img', resp).each(function() { var urlRelative = $(this).attr("src"); var urlAbsolute = self.config.proxy_server + self.config.location_images + urlRelative; $(this).attr("src").replace(urlRelative, urlAbsolute); // problem here }); 

Essayez comme ça

 $(this).attr("src", urlAbsolute) 

Essayez $(this).attr("src", urlAbsolute);

 jQuery("#my_image").attr("src", "first.jpg") 

Utilisé ce code pour src

 $(this).attr("src", urlAbsolute); 

Démonstration

Au lieu du code ci-dessous:

 $(this).attr("src").replace(urlRelative, urlAbsolute); 

Utilisez ceci:

 $(this).attr("src",urlAbsolute); 

Votre code peut simplifier beaucoup

 $('img', resp).attr('src', function(idx, urlRelative ) { return self.config.proxy_server + self.config.location_images + urlRelative; }); 

La méthode de remplacement dans JavaScript renvoie une valeur et n'agit pas sur l'objet de chaîne existant. Voir: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

Dans votre exemple, vous devrez faire

 $(this).attr("src", $(this).attr("src").replace(...)) 

Changer l'image captcha refresh

Html:

  <img id="captcha_img" src="http://localhost/captcha.php" /> 

Jquery:

 $("#captcha_img").click(function() { var capt_rand=Math.floor((Math.random() * 9999) + 1); $("#captcha_img").attr("src","http://localhost/captcha.php?" + capt_rand); });