Как установить изображение src в пустую?
Возможный дубликат:
Настройка атрибута изображения src не работает в Chrome
Когда пользователь нажимает на ссылку "удалить", мне нужно установить атрибут src
изображения пустым. Когда я это сделаю, используя
$('#img').prop('src', null);
src
не пустой, но указывает на текущий URL
если я удалю src
с помощью
$('#img').removeProp('src');
никогда не позволяю мне назначать его в будущем
Какой лучший способ выполнить это?
Ответы
Ответ 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/