可能重复:
Setting image src attribute not working in Chrome如何设置图像src为空?
当用户点击 “删除” 链接,我需要设置图像的src
属性为空。当我这样做是使用
$('#img').prop('src', null);
src
不是空的,但点到当前的URL
,如果我使用
$('#img').removeProp('src');
删除src
从来没有让我将其分配回到未来
完成此操作的最佳方法是什么?
可能重复:
Setting image src attribute not working in Chrome如何设置图像src为空?
当用户点击 “删除” 链接,我需要设置图像的src
属性为空。当我这样做是使用
$('#img').prop('src', null);
src
不是空的,但点到当前的URL
,如果我使用
$('#img').removeProp('src');
删除src
从来没有让我将其分配回到未来
完成此操作的最佳方法是什么?
尝试使用attr(),
$('#img').attr('src', '');
当你有id选择。使用本地javascript方法document.getElementById将为您提供更多性能优势。您也可能需要将#
设置为src
而不是empty
字符串。
document.getElementById('img').src = "#";
恐怕这不起作用。仍指向当前的网址,而不是具有空值。 – StackOverflower
我在我的答案中添加了现场演示,检查它是否可行 – Adil
@Adil [这不适用于真实图像](http://jsfiddle.net/Vnj53/1/) – Neal
我刚刚访问垫层<img>
节点和src
的值设置为空字符串。
$('#img')[ 0 ].src = '#';
小提琴:http://jsfiddle.net/P4pRu/
更新:它看起来像铬不满意的时候,我们只是传递一个空字符串。 Firefox仍然显示出预期的行为(我非常肯定,这也可以在几周/版本之前在Chrome中运行)。
但是,例如传递一个#
,工作正常。
更新2:
即使imgNode.removeAttribute('src');
也不再删除图像的可视化表示了在Chrome(有趣的...)。
恐怕这不起作用。仍指向当前的网址,而不是具有空值。 – StackOverflower
@ TimmyO'Tool:的确如此。对我来说,奇怪的行为似乎是“新的”。但是,如果您传入'#',它就会起作用。 – jAndy
空字符串实际上可以是一个图像的有效src,从技术上说,它不是“删除”src。与'#'相同,它会使用当前的URL加上散列。真实的例子:http://lcamtuf.coredump.cx/squirrel/你最终会发送一个请求到当前的URL。 –
属性'src'不是一个真正的属性,它是一个属性。把属性看作可以用布尔值或者列表和属性来设置的东西,因为它们更加动态。
$('#img').attr('src', '');
在jQuery 1.6的,所述.prop()方法提供了一种方式,以明确地检索属性值,而。ATTR()获取属性 - http://api.jquery.com/prop/
测试你的答案,它不起作用(尽管你的笔记是正确的)。 –
是的,它的确如此。刚刚在jsfiddle中测试 - http://jsfiddle.net/aAfvx/1/ –
看起来这是一个Chrome问题,请在Chrome中尝试。 –
请参见[这个答案](http://stackoverflow.com/a/8425853/561731) – Neal
空字符串其实是可以对图像的有效SRC,从技术上来说它不是“删除”src。与'#'相同,它会使用当前的URL加上散列。真实的例子:http://lcamtuf.coredump.cx/squirrel/你最终会发送一个请求到当前的URL。我会建议使用另一种方法。 –