导致图像无法添加到img的onerror处理程序上的dom树中

时间:2011-09-16 15:26:50

标签: ajax dhtml

我正在努力实现以下目标:

我正在加载服务器上可能存在或可能不存在的图像。 当图像不存在时,将触发图像onerror处理程序。 我想要做的是从dom树中删除图像(不要出现损坏的图像图标)。

以下内容:

onerror="this.parentElement.removeChild(this);"

适用于Chrome但不适用于Firefox。原因是图像尚未附加到domtree(parentElement为null)。

我也尝试将src属性设置为服务器上的某个透明图像,但是当我设置时,我的onload evenhandler会被调用:

onerror="this.onload=null;this.src='transparentimage';"

还有另一种方法可以实现我想要的吗?

无法理解!

任何聪明的想法?

致以最诚挚的问候,

的Niclas

2 个答案:

答案 0 :(得分:1)

解决此问题的简单方法:

<img src="imageURL" style="display:none" onload="this.style.display='block'"/>

也许它会帮助某人。

答案 1 :(得分:0)

以下是使用jQuery的方法:
$(“img”)。error(function(){     $(这)一个.remove();   });

请注意,对于IE,您应该在HTML中的项目之后设置错误处理程序。如果你在document.ready()上执行它,它将不会触发。