In einem Beispiel habe ich diese Struktur (kleines Beispiel):
%Vor%In jQuery würde ich es dynamisch erstellen wie:
%Vor%und etc etc ... (viele andere Dinge zu schreiben). Danach würde ich es einfach anhängen:
%Vor%Gibt es eine andere Möglichkeit, eine solche Struktur dynamisch mit jQuery zu schreiben? Das ist ein Problem für mich, weil ich eine große Struktur habe, nicht so klein, wie ich im Beispiel gezeigt habe. Der Hauptgrund ist, dass ich bessere Lesbarkeit für mich und andere Entwickler bekommen möchte, die diesen Code beibehalten.
Können Sie aus Ihrer Zeichenfolge eine "Vorlage" erstellen? Wenn ja, dann speichern Sie es in einer "konstanten" Variablen (zB im globalen Gültigkeitsbereich definiert), die Platzhalter für aktuelle Variablen enthält, wie {0}
, {1}
etc, wie Sie es in der% code% Methode von C # verwenden würden.
Sie hätten also einen Code wie diesen:
%Vor%Sie würden dann die string.format-Implementierung gemäß dieser Antwort verwenden: Äquivalent von String.format in jQuery
Hier ist ein vereinfachtes Beispiel:
%Vor%Wickle den Zeilenteil in eine Schleife, ersetze ihn durch Variablen und es ist meiner Meinung nach einfacher zu warten / zu lesen, aber ich bin an jQuery gewöhnt, so dass deine Laufleistung variieren kann, nur eine Option.
Eine Randnotiz, da dies .text()
überall verwendet, hilft es Cross-Site-Scripting-Angriffe innerhalb Ihrer Ausgabe zu verhindern.
Sie könnten einen StringBuilder erstellen, ähnlich wie in C #. Hier ist ein Ausschnitt aus Telerik-Erweiterungen für ASP.NET MVC :
%Vor%Auf diese Weise können Sie den folgenden Code haben:
%Vor% Der Vorteil dieses Ansatzes ist, dass Sie eine schnelle Verkettung haben (Array-Joins funktionieren besser unter IE6), und Sie könnten das Objekt um eine andere nützliche Funktion erweitern (zB catIf
, die einen booleschen Ausdruck benötigt, oder% co_de) %, die eine gegebene Zeichenfolge mehrmals wiederholt).
Oder Sie könnten Strings miteinander verknüpfen, also nutzen Sie die Funktion array.join .
%Vor%Tags und Links javascript jquery html-table refactoring