Comment puis-je masquer les images brisées en javascript?

J'ai une image dans une déclaration if:

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

Vous pouvez utiliser le gestionnaire Onerror. Dans la forme en ligne, cela ressemble à ceci:

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

Comme le dit @piskvor, le chargement de l'image dans une balise img est le seul moyen de savoir si l'URL est brisée ou non. L'événement d' error est déclenché si le chargement échoue.

Mais en regardant votre code, peut-être que l'approche opposée a plus de sens: Cacher le <a> par défaut et le montrer dans l'événement onload de l'image.

Abrégé:

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