This works
var htmlString = "<div>This is a string.</div>";
Das schlägt fehl
var htmlSTring = "<div>
This is a string.
</div>";
Manchmal ist das aus Gründen der Lesbarkeit wünschenswert.
Fügen Sie umgekehrte Schrägstriche hinzu, damit es funktioniert
var htmlSTring = "<div>\
This is a string.\
</div>";
Sieht ziemlich cool aus. Ich habe nach einer Möglichkeit gesucht, das zu tun...
Versuch das hier
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><div class="crazy_idea" thorn_in_my_side='<table border="0">
<tr>
<td ><span class="mlayouttablecellsdynamic">PAKETpreis $65.00</span></td>
</tr>
</table>'></div>
<script type="text/javascript">
alert($(".crazy_idea").attr("thorn_in_my_side"));
</script>
Das ist vielleicht verrückt, aber auch genial.
Das funktioniert auch.
[code]
var htmlSTring = “”+
” Dies ist ein String.”+
“”;
[/code]
Diese Methode gefällt mir sehr gut
var htmlString = [
”,
”,
“
].join(”);
Diese gefällt mir. :)
Wenn man sich diesen Leitfaden (unter «Multiline string literals») ansieht, scheint diese Syntax keine gute Praxis zu sein und ist nicht Teil von ECMAScript (aber ich gebe zu, sie gefällt mir trotzdem)
Douglas Crockford rät davon ab, dies zu verwenden, da ein Leerzeichen nach dem Schrägstrich, der Ihren mehrzeiligen String maskiert, dazu führt, dass es fehlschlägt.
Schauen Sie sich Folie 12 an: http://www.slideshare.net/douglascrockford/level-7-ecmascript-5-the-new-parts
Probieren Sie eine dieser Techniken aus: http://jsperf.com/zp-string-concatenation/5
Wenn PHP verfügbar ist, ist eine weitere Option, den zusätzlichen Leerraum auf dem Server wie folgt zu parsen (Kurz-Tags könnten hier auch nützlich sein, sind aber nicht ratsam)
Ich denke, Fabrizio hat Recht, der Escape-Trick wird vom Standard nicht unterstützt.
Frage auf Stackoverflow: http://stackoverflow.com/a/13808106/866206
Ich finde die folgende Lösung ziemlich gut, wenn der String von PHP kommt.
var MultiLine = '<?php echo str_replace("\n", "\\n", $the_string);?>'Hilf mir mit meinem Code
Ich habe einen Fehler in meinem Code :(
Wenn diese Leute an Bord gehen, wird die neue Passagierzahl dem Schaffner gemeldet. Erstellen Sie einen String namens countMessage, der numPassengers verwendet, um Folgendes zu sagen:
Achtung: Jetzt sind 3 Passagiere im Zug!
mit ECMA6 können Sie verwenden
var htmlString = `mehrzeilig
wie
a
Zeichen`;
:)
aber es ist unzuverlässig in IE
Auf diese Weise können Sie die normale HTML-Einrückung beibehalten.
Michal Miky Jankovskýs Vorschlag (die Verwendung von Akzentgräven zum Zitieren von mehrzeiligen literalen Strings) funktioniert gut im neuesten Firefox und Chrome, schlägt aber in IE 11 fehl. Ich wünschte, JavaScript wäre eine lebende Sprache, die ohne Anstrengung verbessert werden könnte. Ich sehe einen Grund für die einzeilige Verwendung von Apostrophen und Anführungszeichen, aber es ist kein guter Grund, während es viele, viele Anwendungsfälle für mehrzeilige Zitate gibt.
Ich fand das sehr hilfreich, musste aber eine Weile lang einen neuen Fehler beheben. Ich verwende einfache Anführungszeichen für meine Strings in JavaScript anstelle von doppelten Anführungszeichen, daher wäre ein Hinweis, dass doppelte Anführungszeichen eine Voraussetzung für die korrekte Funktion dieser Methode sind, hilfreich und zeitsparend gewesen.
Template literals ist der beste Weg
Hello All,
Ich habe die Backtick-Lösung aus diesem Stackoverflow-Link (https://stackoverflow.com/questions/805107/creating-multiline-strings-in-javascript) verwendet, die mein Problem anscheinend gelöst hat.
Ich frage mich nur, ob mir das später Probleme bereiten würde?
Gibt es einen besseren Weg, das zu tun?
var template = [''Hallo {1}, und {2}'.format('Welt', 'Universum!'),
'].join('');
sind extrem schnell und perfekt für mich!
String innerhalb der Backticks
Ich benutze ALT + 96, um ihn zu erstellen