Html 将图像src设置为空
我想将图像设置为“无”。很多人说这样做会给浏览器带来问题: 因此,我不确定下面是否会遇到与将src设置为空相同的问题:Html 将图像src设置为空,html,image,src,Html,Image,Src,我想将图像设置为“无”。很多人说这样做会给浏览器带来问题: 因此,我不确定下面是否会遇到与将src设置为空相同的问题: <img id="myImage"> 所以,如果我想在开始时将图像设置为“无”,我能做的最好的方法是什么?最佳解决方案 按如下方式初始化图像:src=“//:0”类似: 编辑:根据下面Alex的评论,使用/:0显然会触发img的onError事件。所以要小心这一点 编辑2:自Chrome 61开始的注释中src=“/:0”似乎不再触发onError事件 其他
<img id="myImage">
所以,如果我想在开始时将图像设置为“无”,我能做的最好的方法是什么?最佳解决方案
按如下方式初始化图像:src=“//:0”
类似:
编辑:根据下面Alex的评论,使用/:0
显然会触发img的onError
事件。所以要小心这一点
编辑2:自Chrome 61开始的注释中src=“/:0”
似乎不再触发onError事件
其他解决方案
或者,您可以使用非常小的图像,直到您实际填充src
标记:。使用此“非常小的图像”,然后您将初始化标记,如下所示:
从DOM中删除元素
或者,如果您只是不希望元素出现在中,只需使用一些JavaScript:
var myObject = document.getElementById('myObject');
myObject.parentNode.removeChild(myObject);
(根据,不建议使用JavaScript的.remove()
函数,因为DOM 4中的浏览器支持较差)
或者只使用一些jQuery:
$("#myObject").remove();
只需使用哈希符号#
。它是src
属性的有效值:
如果src为空或为空,请使用此脚本设置默认图像
$(document).ready(function () {
$('img').each(function () {
if($(this).attr('src')=="") {
$(this).attr('src', 'Images/download.jpg');
}
});
});
我知道(推荐的)最普遍接受的方式是1px图像
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="">
它将在devtools中显示为0B网络请求,因此如果您正在进行性能监视,您可能会对映像请求的数量感到惊讶。但除此之外,没什么好担心的
注意:您会注意到我包含了alt
属性,但它被设置为空值。你应该这么做!始终包含alt
,否则屏幕阅读器会大声读取img url。因为最初没有图像,当进程完成时,我会根据进程是否通过放置图像。好的,使用div并设置其背景图像似乎是个好主意。但在性能方面,使用img或div与背景图像有什么区别?在我的例子中,有一些图像同时加载,它们可以是动画GIF,所以img还是div?div背景是否与动画GIF兼容?请检查链接。此方法已过时。请勿使用#作为源。更多信息:使用“/:0”作为src
触发img
上的onError
事件(至少在57版的Chrome中是这样)/:0显然救了我的命。我不在乎这个错误,因为它是针对一个内部项目:)我是通过jQuery设置attr.src的,但它总是显示:无!我所做的一切都很重要。从Chrome 61开始,src=“/:0”
似乎不再触发onError
事件这显示了放大和缩小后Chrome中的一个损坏图像。我对它进行了升级,因为它是一个透明图像/gif。这比公认答案中提供的白色图像灵活得多。太好了,谢谢!(你可以在回答中提到)