Wenn Ihre Bewerbung auf eine bestimmte Bibliothek für JavaScript -Klassen angewiesen ist, versuchen Sie versehentlich, die Probleme einer Klassenbibliothek selbst und nicht Sprachprobleme zu lösen. Wenn ich beispielsweise versuche, den Text (der auch HTML -Elemente enthalten kann) mit einem DIV -Element einwickeln. Angenommen, es gibt folgende HTML:
Dies ist ein Text und <a href = ""> ein Link </a>
Zu diesem Zeitpunkt, wenn Sie es in Folgendes konvertieren möchten:
<div> Dies ist ein Text und <a href = ""> ein Link </a> <div>
Der einfachste Weg zu brutaler Gewalt besteht darin, dass Sie über die Eigenhtml -Eigenschaft von .InnerHtml Aktualisierungen des übergeordneten Elements durchführen können. Das Problem ist jedoch, dass alle gebundenen Ereignisse ungültig sind, da ein HTML -Element bei der Verwendung von InnerHTML nachgebildet wird. Das ist so ein großes Glas! Zu diesem Zeitpunkt können Sie JavaScript nur verwenden, um es zu erreichen - es gibt einen Mangel und ein Mangel. Hier ist der Implementierungscode:
var newWrapper = document.createelement ('div'); while (vorhandener parent.firstchild) {// Das DOM -Element verschieben, newWrapper.AppendChild (vorhandener Parent.Firstchild); }Sie können hier keine für die Schleife verwenden, da Childnodes eine Sammlung dynamischer Knoten ist. Solange Sie den Knoten bewegen, wirkt sich dies auf den Indexindexwert aus. Wir verwenden eine Weile Schleife, um das FirstChild des übergeordneten Elements zu erkennen. Wenn es einen Wert zurückgibt, der Falsch darstellt, wissen Sie, dass alle Knoten auf den neuen Elternteil verschoben wurden!