Wenn wir einfache dynamische HTML-DOM-Elemente erstellen müssen, können wir HTML-String-Vorlagen verwenden. Es gibt viele verschiedene Methoden, um dies in JavaScript zu erreichen, aber wir haben vielleicht einige Überlegungen.
const container = document.createElement('div'); container.innerHTML = `<div>Hello World</div>`; const node = container.firstElementChild;
Dies ist eine der gebräuchlichsten Methoden. Fügen Sie die HTML-Zeichenfolge in das innerHTML eines Containerelements ein und greifen Sie dann auf den generierten DOM-Knoten zu.
Es kann jedoch nur gültige HTML-Knoten verarbeiten, d. h. Elemente, die in Standard-HTML-Strukturen zulässig sind. Wenn Sie beispielsweise versuchen, ein
Außerdem führt diese Methode keine Skripte im HTML-String aus, was beim Umgang mit nicht vertrauenswürdigen Inhalten sicherer ist.
const template = document.createElement('template'); template.innerHTML = `<div>Hello World</div>`; const node = template.content.firstElementChild;
Der Vorteil der Verwendung der Tag besteht darin, dass es keine inhaltlichen Einschränkungen hat und jede Art von HTML-Struktur enthalten kann, einschließlich tabellenbezogener Elemente wie Diese Methode ähnelt innerHTML und kann nur gültige HTML-Knoten verarbeiten. Es werden auch keine Skripte ausgeführt. Diese Methode analysiert die Zeichenfolge, indem sie ein vollständiges HTML-Dokument erstellt und dann den Knoten aus dem Dokument extrahiert. Dies bedeutet, dass es relativ langsamer als andere Lösungen ist und daher nicht zur Verwendung empfohlen wird. Es kann nur gültige HTML-Knoten verarbeiten und führt keine Skripte aus. Diese Methode ist möglicherweise die einfachste. Außerdem kann es standardmäßig nur gültige HTML-Knoten verarbeiten. Wir können jedoch den Kontext festlegen, um dies zu vermeiden. Beachten Sie, dass Skripte im HTML-String ausgeführt werden. Seien Sie daher besonders vorsichtig, wenn Sie mit nicht vertrauenswürdigen Inhalten arbeiten, z. B. wenn Sie einen Reiniger wie DOMPurify verwenden. In verschiedenen Fällen müssen Sie möglicherweise die Methode auswählen, die für Sie am besten geeignet ist. Wenn Sie meine Inhalte hilfreich finden, erwägen Sie bitte ein Abonnement. Ich versende täglich einen Newsletter mit den neuesten Updates zur Webentwicklung. Vielen Dank für Ihre Unterstützung! Das obige ist der detaillierte Inhalt vonSo erstellen Sie DOM-Elemente aus HTML-Strings (mehrere Methoden). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website! und .
insertAdjacentHTML
const container = document.createElement("div");
container.insertAdjacentHTML("afterbegin", `<div>Hello World</div>`);
const node = container.firstElementChild;
DOMParser
const node = new DOMParser().parseFromString(`<div>Hello World</div>`, "text/html").body.firstElementChild;
Range.createContextualFragment
const node = document.createRange().createContextualFragment(`<div>Hello World</div>`).firstElementChild;
Abschluss