Ответ 1
Попробуйте это
$(this).attr("src", urlAbsolute)
Мне нужно изменить src
для тега изображения html по отношению к абсолютному URL.
Я использую следующий код. urlRelative и urlAbsolute создаются правильно, но я не могу изменить изображение в последней строке.
Что может быть неправильным в моем 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
});
Попробуйте это
$(this).attr("src", urlAbsolute)
Попробуйте $(this).attr("src", urlAbsolute);
jQuery("#my_image").attr("src", "first.jpg")
использовал этот код для src
$(this).attr("src", urlAbsolute);
Ваш код может упростить для
$('img', resp).attr('src', function(idx, urlRelative ) {
return self.config.proxy_server + self.config.location_images + urlRelative;
});
Вместо кода ниже:
$(this).attr("src").replace(urlRelative, urlAbsolute);
Используйте это:
$(this).attr("src",urlAbsolute);
Метод replace в Javascript возвращает значение и не действует на существующий строковый объект. См.: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
В вашем примере вам нужно будет сделать
$(this).attr("src", $(this).attr("src").replace(...))
изменить изображение 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);
});