Ergebnis 1 bis 8 von 8
Like Tree3Likes
  • 1 Post By j-l-n
  • 2 Post By rico2009

Thema: Element direkt aus DOM entfernen

  1. #1
    j-l-n Guest

    Element direkt aus DOM entfernen

    Wenn man ein Element aus dem DOM entfernen möchte, muss man immer erst den Weg über das Elternelement gehen.
    Dies kann man zwar nicht umgehen, aber man kann sich eine praktische kleine Helferfunktion bauen:
    Code:
    function deleteElementById(ID){
      var el = document.getElementById(ID);
      el.parentElement.removeChild(el);
    }
    
    Object.defineProperty(
      Element.prototype,
      "remove", {
        enumerable: false,
        value: function(){ 
          if (this.parentElement){
            this.parentElement.removeChild(this);
          }
          else {
            throw new TypeError("Element is not in DOM.");
          }
        }
      }
    );
    Danach kann man Elemente folgendermaßen einfach entfernen:
    Code:
    //<div id="ID"></div>
    deleteElementById("ID");
    
    //var element = document.createElement("div");
    //document.body.appendChild(element);
    element.remove();
    Geändert von j-l-n (11-09-2014 um 14:00 Uhr) Grund: Verbesserungsvorschlag umgesetzt
    mikdoe likes this.

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.783

    AW: Element direkt aus DOM entfernen

    Du scheinst dir langsam eine eigene Lib zu bauen, was?
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

  3. #3
    j-l-n Guest

    AW: Element direkt aus DOM entfernen

    Nö, das nicht. Aber für die Sachen die ich häufiger brauche, schreibe ich mir zurzeit einige Helferfunktionen - jQuery mag ich persönlich nicht, und da ich es selten nutze, lohnt es sich meist nicht, es extra nur für ein paar Sachen einzubinden.
    Und ich möchte mich schon seit längerem in Korbinians kkjs einarbeiten - vielleicht find ich jetzt mal die Zeit dafür.

  4. #4
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.783

    AW: Element direkt aus DOM entfernen

    Zitat Zitat von Julian Beitrag anzeigen
    jQuery mag ich persönlich nicht
    Ah ok, das erklärt einiges. Dachte mir schon manchmal, warum nimmt er dafür nicht jQuery?

    Zitat Zitat von Julian Beitrag anzeigen
    Und ich möchte mich schon seit längerem in Korbinians kkjs einarbeiten
    Ja, das ist bestimmt ein guter Weg. Ich hab jetzt jQuery schon überall verbaut, ansonsten würde ich wahrscheinlich auch kkjs verwenden, wenn es lizenztechnisch passt.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png

  5. #5
    rico2009 Guest

    AW: Element direkt aus DOM entfernen

    Zitat Zitat von mikdoe Beitrag anzeigen
    Ah ok, das erklärt einiges. Dachte mir schon manchmal, warum nimmt er dafür nicht jQuery?
    Das gleiche habe ich mir auch gedacht und wollte auch schon entsprechend antworten. Mit JQuery ist das nämlich wirklich sehr simpel. Dann habe ich mich aber daran erinnert das er schon mal irgendwo gesagt hatte, dass er kein JQuery mag. Somit hatte sich mein Post erledigt.
    mikdoe and j-l-n like this.

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.745

    AW: Element direkt aus DOM entfernen

    Ich würde die Funktion ja nicht kill nennen, sondern remove. Das Element wird dabei ja nicht zerstört, sondern "nur" aus dem DOM ausgehängt. Zusätzlich wurde ich in der Funktion noch prüfen, ob this.parentNode auch wirklich etwas enhält und dann eine etwas aussagekräftigere Fehlermeldung als "TypeError: a.parentElement is null" ausgeben:
    Code:
    Object.defineProperty(
      Element.prototype,
      "remove", {
        enumerable: false,
        value: function(){
          if (this.parentElement){
            this.parentElement.removeChild(this);
          }
          else {
            throw new TypeError("Element is not in DOM.");
          }
        }
      }
    );
    Zitat Zitat von j-l-n Beitrag anzeigen
    Und ich möchte mich schon seit längerem in Korbinians kkjs einarbeiten - vielleicht find ich jetzt mal die Zeit dafür.
    Gerne. Über Input (egal ob Bugs, Anregungen oder sogar Code) würde ich mich freuen. Aber die Dokumentation ist an manchen Stellen noch sehr dürftig...

    Zitat Zitat von mikdoe Beitrag anzeigen
    wenn es lizenztechnisch passt
    Dazu müsste ich mir erst mal eine Lizenz aussuchen...

    Warscheinlich wäre es sowas wie: Creative Commons &mdash; Attribution-ShareAlike 4.0 International &mdash; CC BY-SA 4.0

  7. #7
    j-l-n Guest

    AW: Element direkt aus DOM entfernen

    Zitat Zitat von kkapsner Beitrag anzeigen
    Ich würde die Funktion ja nicht kill nennen, sondern remove.

    Zusätzlich wurde ich in der Funktion noch prüfen, ob this.parentNode auch wirklich etwas enhält.
    Danke für den Hinweis, habe ich oben verbessert.

    Zitat Zitat von kkapsner Beitrag anzeigen
    Gerne. Über Input (egal ob Bugs, Anregungen oder sogar Code) würde ich mich freuen. Aber die Dokumentation ist an manchen Stellen noch sehr dürftig...
    Ich hab mir jetzt mal die ganzen DOM-Sachen angeschaut, aber alles, was mir noch eingefallen wäre, hast du schon eingebaut
    Dann ist mir noch die Idee eines Shim für querySelectorAll() gekommen, aber das wird entgegen meiner Erwartung in so gut wie allen Browsern unterstützt: Can I use... Support tables for HTML5, CSS3, etc

  8. #8
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.745

    AW: Element direkt aus DOM entfernen

    In kkjs.css ist eine Selektorengine drin - aber die wollte ich schon lange mal überarbeiten...

Ähnliche Themen

  1. Bestimmtes Hidden-Element senden per Form-Element!?
    Von stargate im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 05-03-2013, 19:45
  2. Antworten: 0
    Letzter Beitrag: 02-09-2008, 20:21
  3. [CSS] element in anderem element absolut ausrichten
    Von schwerminator im Forum CSS und (X)HTML
    Antworten: 1
    Letzter Beitrag: 15-12-2004, 19:42
  4. <Direkt x 9
    Von Shaggy_23 im Forum Windows
    Antworten: 4
    Letzter Beitrag: 09-08-2003, 09:21
  5. Element aus Array entfernen...
    Von frau moella im Forum Serverseitige Programmierung
    Antworten: 8
    Letzter Beitrag: 16-06-2002, 16:46

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •