Подтвердить что ты не робот

Как установить изображение src в пустую?

Возможный дубликат:
Настройка атрибута изображения src не работает в Chrome

Когда пользователь нажимает на ссылку "удалить", мне нужно установить атрибут src изображения пустым. Когда я это сделаю, используя

$('#img').prop('src', null);

src не пустой, но указывает на текущий URL

если я удалю src с помощью

$('#img').removeProp('src');

никогда не позволяю мне назначать его в будущем

Какой лучший способ выполнить это?

4b9b3361

Ответ 1

Попробуйте использовать attr(),

Live Demo

$('#img').attr('src', '');

Поскольку у вас есть селектор id. Использование собственного метода javascript document.getElementById даст вам больше преимуществ в производительности. Также вам может потребоваться установить # как src вместо строки empty.

document.getElementById('img').src = "#";

Ответ 2

Я просто получил бы доступ к подстилке <img> node и установил значение src в пустую строку.

$('#img')[ 0 ].src = '#';

Fiddle: http://jsfiddle.net/P4pRu/


Обновление. Кажется, что Chrome не удовлетворен, когда мы просто передаем пустую строку. Firefox по-прежнему показывает ожидаемое поведение (я уверен, что это также работало в Chrome пару недель/версий назад).

Однако, например, передача # выполняется нормально.


Обновление 2:

Даже imgNode.removeAttribute('src'); больше не удаляет визуальное изображение изображения в Chrome (интересно...).

Ответ 3

Атрибут 'src' на самом деле не является свойством, это атрибут. Подумайте о свойствах как о вещах, которые могут быть заданы с булевыми или списками и атрибутами как вещи, которые намного более динамичны.

$('#img').attr('src', '');

Как и в jQuery 1.6, метод .prop() предоставляет способ явно получать значения свойств, в то время как .attr() извлекает атрибуты - http://api.jquery.com/prop/