Настройка атрибута src для изображения не работает в Chrome - PullRequest
21 голосов
/ 08 декабря 2011

Я хочу получить src одного изображения и установить его как src другого при нажатии #btn:

jQuery("#btn").live("click", function() {
    jQuery("#another_div")
        .children("img")
        .attr("src", jQuery(this).prev("img").attr("src"));
    jQuery(this)
        .prev("img")
        .attr("src","");
})

Я также пробовал:

jQuery(this).prev('img').removeAttr("src");

Отлично работает в Firefox, IE7-9 и Safari.

Только в Chrome изображение не удаляется даже при изменении источника (src="").

Ответы [ 8 ]

31 голосов
/ 08 декабря 2011

Вы можете изменить его на

jQuery(this).attr("src", "data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==");

, может быть?

3 голосов
/ 04 января 2013

Так как в моем случае, делая это

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

очистка атрибута src, но изображение не исчезает. Следовательно, я просто установил, чтобы атрибут стиля тега img не отображался, например,

$(this).attr("src","").css("display", "none");

Это скроет изображение. Надеюсь, у вас это временно будет работать.

2 голосов
/ 08 декабря 2011

попробуйте удалить изображение и добавить его снова

jQuery('#another_div').children("img").remove()
jQuery('#another_div').append('<img>').attr("src",jQuery(this).prev('img').attr("src"));
1 голос
/ 18 сентября 2018

Следующее хорошо работает с Chrome и, похоже, не выводит никаких сообщений на консоль:

1 голос
/ 08 декабря 2011
jQuery('#btn').live("click", function() {
    jQuery('#another_div')
        .children("img")
        .attr("src", jQuery(this).prev('img').attr("src"));
    jQuery(this)
        .prev('img').remove();
})
0 голосов
/ 03 мая 2019

Это работает также:

$('img').attr('src', 'javascript:void(0)');
0 голосов
/ 26 апреля 2013

Это сработало для меня:

var $image = $('.my-image-selector');
$image.removeAttr('src').replaceWith($image.clone());

Однако, будьте осторожны с любыми обработчиками событий, которые вы могли прикрепить к изображению.Всегда есть withDataAndEvents и deepWithDataAndEvents опции для jQuery клон , но я не проверял код с ними: http://api.jquery.com/clone/#clone-withDataAndEvents

Также, если вы хотите сделать это для нескольких изображений, вам, вероятно, придется использовать что-то вроде jQuery каждое .

Я отправил идентичный ответ на аналогичный вопрос: Очистить IMGс jQuery

0 голосов
/ 08 декабря 2011

попробуйте сначала установить src пустым

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

, затем

$(this).removeAttr("src");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...