traditionell verwenden JavaScript -Entwickler innerHTML
oder outerHTML
, um Inhalte in Webseiten zu injizieren. Zum Beispiel:
var container = document.getElementById("container"); container.innerHTML = "<p>Here's some new <strong>DOM</strong> content.</p>";
(Hinweis: JQuery nutzt auch innerHTML
für DOM -Manipulation.) Obwohl diese Methode bequem ist, hat diese Methode Einschränkungen:
innerHTML
ist kein W3C-DOM-Standard. Eine robustere, wenn auch ausführliche Alternative ist der DOM-basierte Ansatz:
var newpara = document.createElement("p"); var newstrong = document.createElement("strong"); newstrong.appendChild(document.createTextNode("DOM")); newpara.appendChild(document.createTextNode("Here's some new ")); newpara.appendChild(newstrong); newpara.appendChild(document.createTextNode(" content.")); var container = document.getElementById("container"); container.appendChild(newpara);
Diese Methode ist während der Einhaltung von Standards signifikant länger, langsamer und immer noch anfällig für menschliche Fehler.
laconic eingeben, ein leichtes Dienstprogramm, das eine elegantere Lösung bietet. Es verwendet eine prägnante JavaScript -Syntax, die direkt auf HTML ordnet:
$.el.p( "Here's some new ", $.el.strong("DOM"), " content." ).appendTo(document.getElementById("container"));
Attributbehandlung ist mit Objektliteralen gleichermaßen einfach:
// Generates <div class="example"><div>Content</div></div> $.el.div( { "class": "example"}, $.el.div("Content") );
laconic bietet ein glückliches Medium. Während innerHTML
für schnelle Aufgaben geeignet bleibt, ist lakonische sich aus, wenn innerHTML
problematisch ist. Weitere Details und Downloads finden Sie unter:
häufig gestellte Fragen (FAQs) zu Laconic und JavaScript DOM -Inhaltsgenerierung
F: Was ist der Unterschied zwischen innerHTML
und createElement
?
innerHTML
legt den HTML -Inhalt eines Elements direkt fest und bietet aufgrund des HTML -Parsens eine einfache Gebrauchsgebrauch, aber potenzielle Sicherheits- und Leistungsnachteile. createElement
dagegen erstellt DOM -Elemente programmgesteuert, was zu einer besseren Leistung und Sicherheit führt, aber mehr Code erfordert.
F: Was sind moderne Alternativen zu innerHTML
und appendChild
?
insertAdjacentHTML
bietet eine genauere Kontrolle über Insertionspunkte, und Template -Literale bieten eine sauberere HTML -String -Erstellung.
F: Wie verwende ich createElement
in jQuery?
jQuery's $()
-Funktion wirkt ähnlich wie bei JavaScript createElement
. Zum Beispiel: var newElement = $ ('<div> </div>');
q: Vor- und Nachteile von InnerHtml <code>innerHTML
vs. createLement <code>createElement
?
Innerhtml <code>innerHTML
ist einfach, aber langsamer und weniger sicher. createLement <code>createElement
ist schneller und sicherer, aber ausführlicher.
F: Wie kann man laconic für die DOM -Inhaltsgenerierung verwenden?
laconic bietet eine kurze Syntax für die DOM -Erstellung. Zum Beispiel: var newElement = $ .el.div ({class: 'myclass'}, 'Hallo, Welt!'); document.body.AppendChild (newElement); <code>var newElement = $.el.div({class: 'myClass'}, 'Hello, world!'); document.body.appendChild(newElement);
Das obige ist der detaillierte Inhalt vonLakonisch: Eine neue Art, DOM -Inhalte aus JavaScript zu generieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!