Manchmal muss ich Elemente (wie einen neuen Link und ein neues Bild) zu einer bestehenden HTML-Seite hinzufügen, aber ich habe nur Zugriff auf einen kleinen Teil der Seite, weit weg von dem, wo ich Elemente einfügen muss. Ich möchte DOM-basierte JavaScript-Techniken verwenden, und ich muss vermeiden, document.write ().
zu verwendenBisher habe ich so etwas verwendet:
%Vor%Gibt es einen effizienteren Weg, den ich nutzen könnte, um dasselbe zu erreichen? Es scheint alles notwendig zu sein, aber ich würde gerne wissen, ob es einen besseren Weg gibt, wie ich das machen könnte.
Es gibt einen effizienteren Weg und scheint, wenn möglich, documentFragments zu verwenden. Schau es dir an: Ссылка . Außerdem sollte dieser Weg weniger fehleranfällig und wartungsfreundlicher sein, als wenn man riesige String-Literale miteinander vermischt und sie als innerHTML einiger anderer DOM-Objekte einstellt.
Damit ist nichts falsch. Die Verwendung von innerHTML
wäre marginal schneller und wahrscheinlich weniger Zeichen, aber für etwas von dieser Größenordnung nicht wahrnehmbar, und meine persönliche Präferenz ist für die mehr standardisierten, einheitlich unterstützten und sichereren DOM-Methoden und -Eigenschaften.
Ein kleiner Punkt: Die height
- und width
-Eigenschaften von <img>
-Elemente sollten Zahlen und keine Zeichenfolgen sein.
Wenn Sie nicht viele Dinge hinzufügen, ist die Art, wie Sie es gemacht haben, ideal gegenüber innerHTML. Wenn Sie es jedoch häufig tun, können Sie einfach eine generische Funktion / ein generisches Objekt erstellen, das die relevanten Informationen als Parameter akzeptiert und die Drecksarbeit erledigt. IE
%Vor%Ich mache das oft in meinen eigenen Projekten, indem ich Prototypen benutze, um Zeit zu sparen.
Tags und Links javascript dom