lima-city: Webhosting, Domains und Cloud
1 Pluspunkt 0 Minuspunkte

Ich habe einen Container

<div id="container">
    <div><a href="#" id="addLink">Neues Element</a></div>
</div>

und hänge mit Javascript neue Elemente an.

const addLink = document.getElementById("addLink");
const container = document.getElementById("container");

addLink.addEventListener("click", function(event) {
    
    event.preventDefault();
    
    const newDiv = document.createElement("div");
    newDiv.textContent = "Neues Element";

    container.appendChild(newDiv);
    
});

Wie kann ich ein bestimmtes Element davon wieder löschen?

von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Du kannst einen zusätzlichen Button zum löschen erstellen.

<div id="container">
 <div>
  <a href="#" id="addLink">Neues Element hinzufügen</a>
 </div>
 <div>
  <button id="deleteButton">Letztes Element löschen</button>
 </div>
</div>

Und einen Event Handler dazu.

const deleteButton = document.getElementById("deleteButton");

deleteButton.addEventListener("click", function() {
    const childElements = container.children;

    // Überprüfen, ob es Elemente zum Löschen gibt
    if (childElements.length > 1) {
        const lastElement = childElements[childElements.length - 1];
        container.removeChild(lastElement);
    } else {
         // Es gibt keine Elemente zum Löschen
    }
});

von (397 Punkte)  
Danke aber das bedeutet ich kann immer nur den letzten wieder löschen. Ich würde aber gerne jeden einzelnen löschen können.
Dann könntest du jedem Element eine unique ID geben und anhand dieser das Element löschen.
0 Pluspunkte 0 Minuspunkte

Du könntest jedem hinzugefügten Element einen zusätzlichen Löschen Button únd einen eigenen EventListener hinzufügen. Demo

const addLink = document.getElementById("addLink");
const container = document.getElementById("container");

addLink.addEventListener("click", function(event) {
    event.preventDefault();

    const newDiv = document.createElement("div");
    const deleteButton = document.createElement("button");

    newDiv.textContent = "Neues Element";
    deleteButton.textContent = "Löschen";
    
    // Event-Listener für das Löschen des aktuellen Elements
    deleteButton.addEventListener("click", function() {
        container.removeChild(newDiv);
    });

    newDiv.appendChild(deleteButton);
    container.appendChild(newDiv);
});
von (716 Punkte)  
Super danke genauso hab ich mir das vorgestellt :-)
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

13 Nutzer