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
Erfahrung ist die Summe der Dummheiten, die man im Bedarfsfall wieder anwendet. (Dieter Hildebrand, Kabarettist)