Zeilenumbruch
papa
- javascript
0 Jürgen Berkemeier0 Christian0 papa
Hallo
Ich will einen String mit einen anderen ersetzen. Dabei brauche ich Zeilenumbrüche. Diese werden aber nicht erkannt, egal was ich auch versuche. (<BR>;\n;\n\r;...und was mir sonst noch wildes eingefalen ist. Wer kann mir sagen was ich falsch mache?
var Anleitung = document.createTextNode("text mit Zeilenumbrüchen...");
document.getElementById("Ausgabe").replaceChild(Anleitung, document.getElementById("Ausgabe").firstChild);
Eigendlich komm ich aus der C++ ecke und kann meine Probleme nicht verstehen.
Schon mal Danke
Hallo,
TextNodes bestehen nur aus Text. Wenn Du Umbrüche willst, musst Du dafür extra Knoten erzeugen und anhängen. Einfacher geht es aber mit innerHTML. Wird aber nur von neueren Browsern unterstützt.
Gruß, Jürgen
Hallo,
TextNodes bestehen nur aus Text. Wenn Du Umbrüche willst, musst Du dafür extra Knoten erzeugen und anhängen. Einfacher geht es aber mit innerHTML. Wird aber nur von neueren Browsern unterstützt.
Gruß, Jürgen
Danke,
aber Netscape schluckt das nicht und der Explorer reicht mir nicht.
Also, einen extra Knoten erzeugen und anhängen heißt:
Und da sagen die Leute C++ sei kompliziert!
Gruß Dietmar
Hallo Dietmar,
wie das mit den Knoten geht, hat Christian ja schon geschrieben.
Das Probelm "innerHTML" war hier im Forum schon öfter Thema, siehe Archiv/Suche. Meine Erfahrung hierzu ist, das die "gängigen" Browser, die getElementBy... unterstützen, auch innerHTML kennen. So weit ich weiß auch der Netscape 7. Wie es mit dem 6er Netscape aussieht, weiß ich allerdings nicht.
Gruß, Jürgen
Hallo.
Wenn du mit \n einen Zeilenumbruch erzwingst, gilt dieser nur für den Quelltext des neuen Textknotens. Da aber ein Zeilenumbruch zu den Whitespace-zeichen gehört wird er in ein Leerzeichen verwandelt und ansonsten ignoriert.
Um einen wirklichen Zeilenumbruch zu erhalten musst du wie im Quelltext einer html-Datei ein <br> element benutzen. Um diese dynamisch zu erzeugen benutzt du
var br = document.createElement("br");
jetzt musst du an das Element, nachdem der Zeilenumbruch erfolgen soll das erzeugte br anhängen:
deinelement.lastChild.appendChild(br);
jeder weitere Textknoten/jedes weitere br muss jetzt an deinelement.lastChild angehängt werden.
Um das ganze sinnvoll zu lösen solltest du also einen String zuerst anhand der Zeilenumbrüche separieren und in ein Array packen (die Funktionen search und slice können dir dabei helfen).
Ich hoffe du bekommst das Problem damit in den Griff.
Grüsse,
Christian
Hallo,
genau das hab ich befürchtet, so ein Umstand. Aber ich danke dir, bekomme ich bestimmt hin.
Guten rutsch