有时需要给图片设置默认图,比如用户头像,默认商品图等。img的alt属性只是给图片设置未加载时的文字提示信息。这时,通常会用到onerror属性,一下为常用的两种方法:
1、让图片元素隐藏
<img src="图片的url地址" alt="图片XX" onerror="this.style.display='none'"/>
2、设置默认图
<img src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址'"/>
第二种方式为常用的方法,但当onerror中设置的图片路径也不存在时就会导致浏览器一直加载这个图,造成堆栈溢出错误。
所以,通常在后面加上this.onerror=null;
保证onerror里的事件只执行一次。所以完整的写法为:
<img src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址';this.onerror=null"/>