Bild ausblenden, wenn die Quelle unbekannt ist

Lesezeit: 2 Minuten

Benutzer-Avatar
Anna Wellington

Ich versuche, Bilder ohne src in WordPress auszublenden.

Es folgt der Bildcode, der auf dem Frontend angezeigt wird

<img src="https://stackoverflow.com/questions/50340670/[custom-gallery-image-01]" class="galimage" height="300" width="580"/>

JS verwendet, um das Bild zu verbergen

<script type="text/javascript">
$(document).ready(function() {
   $(".galimage").each(function() {
        var atr = $(this).attr("src"); 
        if(atr == "") {
            $(this).addClass("hidegalimage");
        } else {
            $(this).removeClass("hidegalimage");
        }
    });
});
</script>

CSS

.hidegalimage {
display:none;
}

Aber ich kann immer noch das kaputte Bildsymbol und einen Bildrand sehen. Aussicht JSFiddle. Kann jemand mein Problem beheben oder mir einen Vorschlag machen, wie ich das Bild ausblenden kann?

Danke vielmals

  • disply:none; Rechtschreibung ist beim Programmieren wichtig.

    – Bestimmte Leistung

    15. Mai 2018 um 0:16 Uhr

  • Mein Fehler, ich habe es in JSFiddle behoben, aber es zeigt immer noch das kaputte Bild

    – Anna Wellington

    15. Mai 2018 um 0:17 Uhr

  • Angenommen die [custom-gallery-image-01] Shortcode wird durch eine leere Zeichenfolge ersetzt, wenn kein Bild gefunden wird, dann funktioniert Ihr Code: jsfiddle.net/ukc78mrm

    – Cabrerahektor

    15. Mai 2018 um 0:25 Uhr

  • In Ihrem Code suchen Sie nach, ob src einer leeren Zeichenfolge entspricht. Aber in Ihrem Bild-Tag ist Ihre Zeichenfolge auf eine wörtliche Zeichenfolge von festgelegt [custom-gallery-image-01]. Wenn die Funktion ausgeführt wird, wird Ihre Klasse nicht festgelegt, da src nicht leer ist.

    – bnjmn.myers

    15. Mai 2018 um 0:25 Uhr


  • @cabrerahector Danke!

    – Anna Wellington

    15. Mai 2018 um 3:30 Uhr

Benutzer-Avatar
Bestimmte Leistung

Viel eleganter, stattdessen CSS zu verwenden, kein Javascript erforderlich, das Schlechte vorausgesetzt srcs beginnen mit [ as in your HTML: are empty strings:

.galimage[src=""]  { Anzeige: keine;  }
<img src="https://www.gravatar.com/avatar/b3559198b8028bd3d8e82c00d16d2e10?s=32&d=identicon&r=PG&f=1" class="galimage" height="300" width="580"/>
<img src="" class="galimage" height="300" width="580"/>
<img src="https://www.gravatar.com/avatar/b3559198b8028bd3d8e82c00d16d2e10?s=32&d=identicon&r=PG&f=1" class="galimage" height="300" width="580"/>

  • @CertainPerformance Vielen Dank! Das funktionierte wie ein Zauber. Als ich das Element ohne src untersuchte, zeigte es src (unbekannt). Aber nachdem Sie Ihr CSS hinzugefügt haben, funktioniert es hervorragend.

    – Anna Wellington

    15. Mai 2018 um 0:27 Uhr

  • @cale_b Danke, ich habe das Problem auch nicht so gedacht

    – Anna Wellington

    15. Mai 2018 um 0:28 Uhr

  • Vielen Dank für Ihre Zeit, Bemühungen und Ihr Wissen, Jungs!

    – Anna Wellington

    15. Mai 2018 um 0:31 Uhr

Verwendung von jquery

$("img").error(function(){
        $(this).hide();
});

Oder

$("img").error(function (){ 
    $(this).hide();
    // or $(this).css({'display','none'}); 
});

  • keine CSS-Alternative erforderlich

Sie können dies verwenden, aber dies verbirgt nicht das Entfernen von der Seite (DOM):

<img id='any' src="https://invalid.com" onerror="document.getElementById(this.id).remove()" >

1310820cookie-checkBild ausblenden, wenn die Quelle unbekannt ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy