Didosa: Zeilenumbruch in Textnode

Heissen Morgen

Ich bin da etwas mit den Textnodes ("document.createTextNode()") am rumpröbeln. Grundsätzlich lustig, aber ich kann keinen Zeilenumbruch innerhalb eines Textnodes erzwingen. Wenn ich "<br>" reinschreibe, dann gibt's das einfach aus (als hätte ich "<br>" geschrieben). Aber auch "\n" funktioniert nicht. Einen neuen <p> will ich nicht machen, da mir das zu viel Platz raubt.

Jede Hilfe wird dankbar begrüsst.

Thanx. Didosa

  1. Ist natürlich nicht MEINUNG, sondern javascript oder so. Die gute alte Scrollmaus...

    sorry

  2. Hallo Didosa,

    Ich bin da etwas mit den Textnodes ("document.createTextNode()") am rumpröbeln. Grundsätzlich lustig, aber ich kann keinen Zeilenumbruch innerhalb eines Textnodes erzwingen. Wenn ich "<br>" reinschreibe, dann gibt's das einfach aus (als hätte ich "<br>" geschrieben). Aber auch "\n" funktioniert nicht.

    Da solltest du mal die Sprachen auseinanderhalten. "\n" ist JavaScript, und in einen HTML-Text geschrieben, ist das so, als wenn man im Editor einen harten Umbruch in den Text tippt. Der bewirkt in HTML ein Leerzeichen, falls davor oder dahinter sonst keins da ist, und ansonsten nichts.

    createTextNode() heisst ausserdem nicht zufaellig so und nicht createHTMLNode(). Was da erzeugt wird, ist nackter Text, auf Fach-Chinesisch CDATA oder character data.

    Wenn du eine komplette HTML-Substruktur erzeugen willst, kannst du entweder - ausgehend von einem Element, mit der innerHTML-Eigenschaft arbeiten, die ja, wie gestern in einem anderen Thread behandelt wurde, auch bei Mozilla/Netscape nach DOM-Syntax so funktioniert wie beim MS IE im all-Objekt, obwohl das eigentlich kein sauberes DOM mehr ist.

    Die andere Moeglichkeit besteht darin, mit document.createElement() ein komplettes Element, z.B. ein div- oder span-Element, zu erzeugen, dann mit appendData() erst mal den Text bis zum Zeilenumbruch in das Element einzufuegen, dann mit appendChild() ein br-Element anzuhaengen, und dann nochmals mit appendData() den Text hinter dem Zeilenumbruch anzuhaengen.

    viele Gruesse
      Stefan Muenz

    1. Hallo Frühaufsteher (ist die beste Zeit in dieser Saison...)

      Vielen Dank, war ja ganz einfach, musste halt merken, dass auch ein <br> ein Element ist. Logisch.

      Gruss Didosa