【问题标题】:How do I hide broken images in javascript?如何在javascript中隐藏损坏的图像?
【发布时间】:2010-09-09 08:49:59
【问题描述】:

我的图片位于 if 语句中:

if (item.image)
   historyHtml += '<a href=' + item.image + ' class="image" target="_blank"><img src="' + item.image +'" width="111px"/></a>';

【问题讨论】:

标签: javascript html


【解决方案1】:

您可以使用 onerror 处理程序。在内联表单中,它看起来像这样:

<img src="someimage.jpg" onerror="this.style.display='none';" />

【讨论】:

  • 嗨 Piskvor,非常感谢。我试过了,它通过我返回错误: if (item.image) historyHtml += '';
  • @jprim :“错误”含糊不清。当你尝试这个时会发生什么?
  • @jprim :您没有正确转义引号。试试这个: if (item.image) historyHtml += ''
  • Spender - 完美。非常感谢您的帮助! :D
  • @jprim:“出现错误”“什么错误?” “一个错误!”换句话说,你能更具体一点吗?语法错误是否有更多数据?它出现在代码的哪一部分?
【解决方案2】:

正如@piskvor 所说,实际上在 img 标签中加载图像是找出 URL 是否损坏的唯一方法。如果加载失败,将触发 error 事件。

但是查看您的代码,也许相反的方法最有意义:默认隐藏&lt;a&gt;,并在图像的onload 事件中显示它。

删节:

<a href=".." id="image228" style="display: none">
 <img src="..." onload="this.parentNode.style.display = 'block'">
</a>

【讨论】:

  • 您好 Pekka,感谢您的帮助。如果我将那段代码放在链接中,它仍然会给我错误。
  • 开发时 Dreamweaver 中的语法错误。我是从下面的 Spender 那里得到的。谢谢。
  • @jprim 不客气。我建议您熟悉如何正确转义引号。当字符串未正确转义时,Dreamweawver 的语法高亮显示应该会显示
  • 更好,因为这可以让您在使用有效图像更新 src 时显示图像
猜你喜欢
  • 2018-01-29
  • 2013-07-29
  • 2017-06-26
  • 2011-06-02
  • 2019-05-06
  • 2016-02-13
  • 2015-01-04
  • 1970-01-01
  • 2018-10-04
相关资源
最近更新 更多