Wie kann ich mit JS ein div mit der zugehörigen ID erstellen?

2 Antworten

Das liegt daran, dass JavaScript denkt du würdest den Text (String) schon mit dem ersten Anführungszeichen beenden. Wenn du also

document.getElementById("main_div").innnerHTML = "<div id="evaluation"></div>"

schreibst, dann ließt der JS-Parser zunächst

document.getElementById("main_div").innnerHTML = "<div id="

und kann das darauf folgende evaluation nicht verarbeiten.

Um zu signalisieren, dass die Anführungszeichen bei deiner ID Teil des Strings sein sollen, kannst du diese mit einem Backslash escapen:

document.getElementById("main_div").innnerHTML = "<div id=\"evaluation\"></div>"

Alternativ kannst du übrigens Elemente auch direkt im DOM (Document Object Model) erstellen:

const mainDiv = document.getElementById("main_div")
const newDiv = document.createElement("div")
newDiv.id = "evaluation"
mainDiv.appendChild(newDiv)

Ist mMn die bessere und weniger fehleranfälligere Variante.

Ich würde dir darüber hinaus empfehlen eine anständige IDE (Entwicklungsumgebung) zu verwenden. Dann werden dir so einfache Syntax-Fehler direkt angezeigt.

Woher ich das weiß:Berufserfahrung

Verwende einfache Anführungszeichen:

document.getElementById("main_div").innnerHTML = '<div id="evaluation"></div>';