So löschen Sie HTML-Elemente in einem iFrame mit JavaScript

Lesezeit: 2 Minuten

Benutzer-Avatar
adrinho

Ich habe einen iFrame und ein div mit Inhalt darin. Ich möchte das div per JavaScript löschen, geht das und wie könnte ich das machen?

Ich möchte es nicht einfach nicht anzeigen (z. display: none via CSS), sondern aus dem HTML der Seite entfernen. Ich habe Grundkenntnisse in JavaScript, aber keine Erfahrung mit einem iFrame.

  • Schau mal hier: stackoverflow.com/questions/11658011/…. Denken Sie auch daran, dass Sie den Inhalt eines Iframes, der auf einem anderen Host / einer anderen Domäne existiert, NICHT ändern können als die übergeordnete Seite – developer.mozilla.org/en-US/docs/Web/Security/…

    – nealio82

    4. August 2015 um 11:37 Uhr


Benutzer-Avatar
sahil gupta

Sie können verwenden

$("#iFrameId").contents().find("#yourDiv").empty();

Es ist besser zu verwenden remove()

Beispiel: $("#iFrameId").contents().find("#yourDiv").remove();

Erklärung

empty() entfernt den gesamten Inhalt der Auswahl.

remove() entfernt die Auswahl und ihren Inhalt sowie alle damit verknüpften Event-Handler.

Als Referenz: 1) http://api.jquery.com/remove/
2) http://api.jquery.com/empty/

  • Ich verstehe es so, wie es sein sollte remove() nicht empty()aber ich bin mir nicht sicher, was das erwartete Verhalten ist

    – A. Wolff

    4. August 2015 um 11:39 Uhr

  • Ja, remove() ist in diesem Fall eine bessere Option als empty()!! Danke!!

    – sahil gupta

    4. August 2015 um 11:45 Uhr

  • Ich habe dies ausprobiert und es funktionierte für ein normales “iframe”, aber nicht mit einer Spreadshirt-Shop-Integration. Einen Beispielshop finden Sie unter: developer.spreadshirt.net/display/spreadShop/… scrollen Sie nach unten zum Out-of-the-Box-Shop-Beispiel. Ich möchte nur die Fußzeile entfernen, aber wenn ich $(“#footer”).remove(); nichts passiert.

    – adrinho

    4. August 2015 um 13:29 Uhr


  • Wenn ich versuche $(“#footer”).remove(); online auf ihrer Seite (developer.spreadshirt.net/display/spreadShop/…) es entfernt die Fußzeile. Aber nicht, wenn ich es lokal versuche. Ich teste es lokal, aber ich bin online und kann die Fußzeile nicht entfernen. Liegt es daran, dass ich es “lokal” teste, oder liegt es an ihrem Skript, das geladen wird, und vielleicht muss ich das Entfernungsskript nach ihrem Skript ausführen?

    – adrinho

    4. August 2015 um 13:38 Uhr


  • Wenn ich die Site lokal teste und dann den Code in der Firebug-Konsole hinzufüge, kann ich die Fußzeile entfernen, aber wenn ich es im HTML-Dokument versuche, kann ich die Fußzeile nicht entfernen. Ich habe es live auf meinem Server getestet und es gibt den gleichen Problemcode, der in der Konsole geschrieben ist, kein Problem, Code in HTML ausgeführt, keine Chance, die Fußzeile zu entfernen. So was nun? Ich habe versucht, die Funktion jquery .ready zu kombinieren, aber nichts. Warum funktioniert der Konsolenansatz und nicht der Code im HTML?

    – adrinho

    4. August 2015 um 21:23 Uhr


Sie können so etwas versuchen: –

frame.removeChild(//pass div id here);

1011600cookie-checkSo löschen Sie HTML-Elemente in einem iFrame mit JavaScript

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

Privacy policy