Das dynamische Aktualisieren von Webseiten nach der ersten Last erfordert häufig die Methoden von Append-, Blinddile-, InsertAdjacentHTML- oder Innerhtml -Methoden von JavaScript. Die Auswahl der richtigen Methode hängt von mehreren Faktoren ab, einschließlich der Art des hinzugefügten Inhalts und der Browserkompatibilität.
Websites sind im Wesentlichen HTML -Dateien, die von Browsern zu einem DOM -Baum (Dokumentobjektmodell) gerendert werden. Dieser Baum besteht aus verschachtelten Objekten, die HTML -Elemente (Knoten) darstellen. Begriffe wie "Knoten", "Element" und "Objekt" werden oft synonym verwendet, wobei "Objekt" das allgemeinste und "HTML -Element" am spezifischsten ist. Das Verständnis dieser Hierarchie ist entscheidend für die Manipulation des DOM mit JavaScript.
Die meisten Anhängen/Einfügen -Methoden folgen diesem Muster: Element.method(content)
. Verwenden Sie Methoden wie document.querySelector()
, document.getElementById()
oder document.getElementsByClassName()
, um ein Element abzielen. Denken Sie daran, dass getElementsByClassName()
ein Array zurückgibt.
Die Auswahl der Methode hängt stark von der Art des Inhalts ab:
document.createElement()
erstellt oder aus dem DOM ausgewählt. appendChild
und append
arbeiten mit Knoten.insertAdjacentHTML
und innerHTML
-Handle HTML direkt.Hier ist eine Zusammenfassung der Methodenkompatibilität:
Verfahren | Knoten | Einfacher Text | Html | Internet Explorer | Sicherheitsbedenken |
---|---|---|---|---|---|
append
|
Ja | Ja | NEIN | NEIN | Niedrig |
appendChild
|
Ja | NEIN | NEIN | Ja | Niedrig |
insertAdjacentHTML
|
NEIN | Ja | Ja | Ja | Hoch (unansittete Eingabe) |
innerHTML
|
NEIN | Ja | Ja | Ja | Hoch (Ereignishörerverlust) |
insertAdjacentHTML
), sind am einfachsten.appendChild
, append
) für den sofortigen Ereignis -Listener -Anhang.insertAdjacentHTML
oder innerHTML
.append
, wenn IE -Unterstützung erforderlich ist. Lassen Sie uns einen neuen Benutzer, "Dale", an eine Buddy -Liste mit verschiedenen Methoden anhängen. Angenommen, die Liste hat<ul id="buddies"></ul>
mit <li><a>...</a></li>
Gegenständen.
append
const newbuddy = document.createelement ('li'); const newlink = document.createelement ('a'); newlink.append ("dale"); newbuddy.append (newlink); document.querySelector ('#buddies'). append (newbuddy);
appendChild
const newbuddy = document.createelement ('li'); const newlink = document.createelement ('a'); newlink.textcontent = "dale"; newbuddy.appendchild (newlink); document.querySelector ('#buddies'). appendChild (newbuddy);
insertAdjacentHTML
document.querySelector ('#buddies'). InsertAdjacentHtml ('vor der', ',' '
innerHTML
(nicht zum Anhängen empfohlen)document.querySelector ('#buddies'). Innerhtml = '
innerHTML
ist problematisch, da es die gesamte innere HTML ersetzt und die Ereignishörer möglicherweise entfernen.
Eine umfassende Demo, die alle Methoden zeigt, wäre hier von Vorteil (Code für Kürze weggelassen). Zusammenfassend:
innerHTML
zum Anhängen aufgrund des Verlusts des Ereignishörers.append
bietet Flexibilität und ist für einfache Fälle effizient, aber der IE -Support fehlt.appendChild
ist weithin kompatibel und für die Node -Manipulation geeignet.insertAdjacentHTML
bietet eine präzise Platzierung und verarbeitet HTML -Zeichenfolgen effektiv, erfordert jedoch eine sorgfältige Bereinigung von Benutzereingaben. Eine weitere Untersuchung von before
, after
, insertBefore
und insertAdjacentElement
wird für fortgeschrittenere DOM -Manipulationen gefördert.
Das obige ist der detaillierte Inhalt vonVergleich von Methoden zum Anhängen und Einsetzen mit JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!