Matti Mäkitalo: in JavaScript einen String mit Zeilenumbruch notieren

Beitrag lesen

Hi,

ich habe gerade einen Fall, da muss ich längere HTML-Schnipsel durch eine JavaScript-Funktion ausgeben lassen, d.h. das HTML steht in einem JavaScript-String. Das ist ein bissel lästig, denn ich darf da ja keine Zeilenumbrüche in den Quellcode bauen.

wie wäre es, wenn du darauf verzichtest?
Stattdessen könntest du die HTML-Schnippsel bereits im Markup der Seite reinbauen (mit CSS ausblenden), allerdings nur als "Skelett", d.h. ohne anzuzeigende Daten.

Wenn JavaScript verfügbar ist, holst du dir den Schnippsel-Knoten und speicherst ihn irgendwo zwischen, gleichzeitig entfernst du ihn aus dem DOM.
Wenn du den Schnippsel brauchst, dann klonst du den Knoten (wenn er mehrmals vorhanden sein kann, ansonsten direkt verwenden) und fügst mit DOM-Methoden die dynamischen Werte ein und hängst den Knoten daraufhin wieder ins DOM.

Dies hat den Vorteil:
Der Roh-Schnippsel kann in HTML beschrieben werden, tiefergehende Javascript-Kenntnisse sind nicht notwendig, um das Markup zu ändern (Trennung der Applikationslogik in Javascript von Darstellung (HTML)). Weiterhin ist er, getreu deinen Anforderungen, "schön" formatierbar.

Nachteil: wenn kein Javascript verfügbar ist, hängt nutzloser Ballast im DOM rum.

Bis die Tage,
Matti