Hallo technolust,
Ich habe heute gelernt das ich dann alles in einer Zeile schreiben muss, da document.write() keine Zeilenumbrüche kann.
Wer erzaehlt dir sowas?
Du hast mehrere Moeglichkeiten
1. Du schreibst anstatt document.write() document.writeln(), das erzeugt eine neue Zeile
2. Du schreibst am Ende ein '\n' dazu, was ebenfalls einen Zeilenumbruch erzeugt
3. Du concatinierst (=fuegst zusammen) Deinen ganzen Inhalt und gibst ihn mit einem document.write() aus
4. Du benutzt document.write ueber mehrere Zeilen
Zur Verdeutlichung das Ganze nochmal mit Zeilenumbruechen in Javascript
Variante 1
document.writeln('Du hast mehrere Moeglichkeiten');
document.writeln('1. Du schreibst anstatt document.write() document.writeln(), das erzeugt eine neue Zeile');
Variante 2
document.write('Du hast mehrere Moeglichkeiten\n');
document.write("2. Du schreibst am Ende ein '\n' dazu, was ebenfalls einen Zeilenumbruch erzeugt\n");
Variante 3
var test = 'Du hast mehrere Moeglichkeiten\n'
+ 'Du concatinierst (=fuegst zusammen) Deinen ganzen Inhalt und gibst ihn mit einem document.write() aus';
document.write(test);
Variante 4
document.write('Du hast mehrere Moeglichkeiten\n'
+ '4. Du benutzt document.write ueber mehrere Zeilen');
Jetzt bekomme ich aber die Fehlermeldung "Bezeichner erwartet".
So eine Fehlermeldung sieht ziemlich nach Internet Explorer aus. Wenn Du aber Fehlermeldungen haben willst, die auch was bedeuten, bist Du mit der Javascript-Console in Firefox/Mozilla wesentlich besser bedient.
Ein sehr gaengiger Fallstrick ist der mit den Anfuehrungszeichen
Du kannst ja entweder document.write('...') oder document.write("...") benutzen (doppelte/einfache Anfuerungszeichen)
Was du nimmst, haengt unter anderm damit zusammen, ob in deinem String selbst Anfuehrungszeichen vorhanden sind. Diese musst Du entsprechend maskieren.
Beispiel:
Der String fuer die Ausgabe waere -> Ein Satz mit "zwei" Anfuehrungszeichen
- document.write('Ein Satz mit "zwei" Anfuehrungszeichen') funktioniert
- document.write("Ein Satz mit "zwei" Anfuehrungszeichen") funktioniert, weil die beiden Anfuehrungszeichen maskiert sind
- document.write("Ein Satz mit "zwei" Anfuehrungszeichen") scheitert, weil document.write meint, der string waere vor 'zwei' zu Ende
Dieses Beispiel gilt auch umgekehrt, also wenn du die " gegen ' austauschst und umgekehrt
Eine andere typische Falle ist, das Anfuehrungszeichen im Bereich von Variablen falsch gesetzt werden
var Zahl = 'zwei' // "zwei" waere auch ok, zwei waere falsch
document.write("Ein Satz mit " + Zahl + " Anfuehrungszeichen") funktioniert
document.write('Ein Satz mit ' + Zahl + ' Anfuehrungszeichen') funktioniert
document.write('Ein Satz mit ' + Zahl + " Anfuehrungszeichen") funktioniert
document.write('Ein Satz mit " + Zahl + " Anfuehrungszeichen") scheitert
document.write("Ein Satz mit " + Zahl + ' Anfuehrungszeichen) scheitert
Gruß,
Dieter