Löschen Sie einen IMG mit jQuery

Lesezeit: 3 Minuten

Benutzer-Avatar
Yarin

Ich versuche, das geladene Bild aus a zu entfernen <img> -Element, aber das Löschen oder Entfernen des src tut es nicht. Was zu tun ist?

HTML:

<img src="https://www.google.com/images/srpr/logo3w.png">

JQUERY:

$('img').attr('src', ''); // Clear the src
$('img').removeAttr('src');​ // Remove the src

Bild bleibt…

Geige: http://jsfiddle.net/6x9NZ/

  • Was meinst du mit img löschen? Sie möchten das img-Element aus dem DOM entfernen?

    – dievardump

    2. Juni 2012 um 20:26 Uhr


  • no- das geladene Bild aus dem img-Element löschen

    – Jarin

    2. Juni 2012 um 20:28 Uhr

  • Nun, es bleibt nicht bei jedem Bruder. UND können Sie ein Beispiel dafür geben, welches Verhalten Sie benötigen, um einfach das src -Attribut zu löschen, ohne das img -Element aus dem DOM zu entfernen?

    – dievardump

    2. Juni 2012 um 20:33 Uhr

  • Ich schätze, er hat versucht, das zu behalten img Knoten, aber nicht die Bilddaten. Dies kann nützlich sein, um Speicher freizugeben, wenn die Bilder nicht sichtbar sind.

    – MK Jung

    11. November 2013 um 19:34 Uhr

Das müssten Sie auch Löschen das <img> Element vollständig oder ersetzen Sie es durch ein anderes Bild (das ein transparentes GIF sein könnte).

  • Alternativ können Sie die src in ein 1×1-Pixel ändern: $('img').attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==');

    – Mottie

    2. Juni 2012 um 21:36 Uhr


  • @davidsleeps – Es ist nur ein Beispiel für das, was ich in dieser Antwort gesagt habe.

    – QUentin

    25. Februar 2015 um 9:44 Uhr

  • @Quentin Entschuldigung, ich kann das jetzt sehen … aber da es nicht um die Existenz eines anderen Bildes geht, fühlt es sich etwas anders an.

    – David schläft

    25. Februar 2015 um 23:20 Uhr

Benutzer-Avatar
Vlad Sabev

Das hat bei mir funktioniert:

var $image = $('.my-image-selector');
$image.removeAttr('src').replaceWith($image.clone());

Seien Sie jedoch vorsichtig bei Ereignishandlern, die Sie möglicherweise an das Bild angehängt haben. Es gibt immer die mit DatenUndEreignisse und deepWithDataAndEvents Optionen für jQuery-Klonaber ich habe den Code nicht mit ihnen getestet: http://api.jquery.com/clone/#clone-withDataAndEvents

Wenn Sie dies für mehrere Bilder tun möchten, müssen Sie wahrscheinlich so etwas wie verwenden jQuery jeweils.

Ich habe eine identische Antwort auf eine ähnliche Frage gepostet: Setting image src attribute not working in Chrome

Du kannst das. Weisen Sie dem Bild zunächst eine ID zu

<img id='image_id' src="https://www.google.com/images/srpr/logo3w.png">

Und entfernen Sie dann das Quellattribut.

jQuery('#image_id').removeAttr('src')
jQuery('#image_id').show();

Benutzer-Avatar
Michael Selensky

wie wäre es, wenn Sie einfach ein Element ausblenden:

$('img').hide();

Sie können ein Bild nicht aus einem Tag entfernen. Denken Sie bei der Verwendung von jQuery daran, dass Sie nicht mit Tags arbeiten, sondern mit DOM-Elementen manipulieren. Daher ist Ihr Tag in Bezug auf jquery kein Tag, sondern ein Objekt, ein DOM-Element. Und dieses Element ist kein Tag, ES IST ein Element, das ein Bild in DOM darstellt. Wenn Sie also ein Bild ausblenden möchten, müssen Sie das Element ausblenden.

Entfernen Sie den Knoten mit

$("img").remove()

oder blenden Sie das Bild einfach mit aus

$("img").hide()

Benutzer-Avatar
Amir Surney

Der beste Weg ist, das Bild durch ein anderes zu ersetzen. Ich meine, anstatt den src zu bereinigen, setze einen falschen Wert wie .attr(‘src’,’notting’); Es wird kein Bild geladen und die zwischengespeicherte Version des alten Bildes ist verschwunden

Benutzer-Avatar
Roman C

Das hat bei mir funktioniert. Ersetzen Sie das Bildattribut src in div ‘custom_preview_image’ durch leer

field = jQuery(this).closest('td').find('.custom_repeatable li:last').clone(true); field.find('.custom_preview_image').removeAttr('src').end();

1145760cookie-checkLöschen Sie einen IMG mit jQuery

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

Privacy policy