22

可能重复:
设置图像 src 属性在 Chrome 中不起作用

当用户单击“删除”链接时,我需要将src图像的属性设置为空。当我使用

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

src不为空,但指向当前 url

如果我删除src使用

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

永远不要让我在将来重新分配它

实现这一目标的最佳方法是什么?

4

3 回答 3

14

尝试使用attr()

现场演示

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

因为你有 id 选择器。使用原生 javascript 方法 document.getElementById 将为您带来更多性能优势。此外,您可能需要设置#src而不是empty字符串。

document.getElementById('img').src = "#";
于 2012-12-05T15:26:40.700 回答
7

我只需访问底层<img>节点并将值设置src空字符串

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

小提琴:http: //jsfiddle.net/P4pRu/


更新:当我们只传入一个空字符串时, Chrome似乎并不满意。Firefox 仍然显示出预期的行为(我很确定这在几周前/版本之前也适用于 Chrome)。

#但是,例如,通过 a可以正常工作。


更新 2:

EvenimgNode.removeAttribute('src');不再删除 Chrome 中图像的视觉表示(有趣...)。

于 2012-12-05T15:27:26.457 回答
0

属性 'src' 并不是真正的属性,它是一个属性。将属性视为可以使用布尔值或列表设置的事物,而属性则视为更具动态性的事物。

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

从 jQuery 1.6 开始,.prop() 方法提供了一种显式检索属性值的方法,而 .attr() 检索属性 - http://api.jquery.com/prop/

于 2012-12-05T15:32:56.050 回答