[JavaScript] createTextNode() mit HTML-Elementen?

Zweipunktnull

Commander
Registriert
Dez. 2004
Beiträge
2.546
Hallo!

Wenn ich mit createTextNode() einen Textknoten erzeuge und bspw. als Parameter 'Dies ist ein<br />Zeilenumbruch.' übergebe, dann wird im Browser ja <br /> ausgegeben und kein Zeilenumbruch bewirkt. Ist genau dies aber irgendwie möglich?

Es gäbe da ja noch innerHTML, welches ich allerdings nicht verwenden wollte, da das ja nicht W3C-konform ist. Oder ist's (leider) mal wieder so, dass das von den Browserherstellern "inoffiziell" eingeführte Zeug leistungsfähiger ist als das vom W3C? (Wäre ja nicht das erste Mal... :rolleyes:)

MfG

EDIT:

Und über .nodeValue funktionierts auch nicht...


EDIT:
Hm... habs... ABER: Wie umständlich gehts denn? Ich hab jetzt jeden Teilstring und jedes br einzelen verwurstet. Ich tu mich immer schwer damit inoffizielle sachen zu verwenden, aber kanns sein, dass an innerHTML kein weg vorbei führt? Es geht zwar auch ohne, aber da kannste die Quelltextlänge ja hoch 31 nehmen... Wie ist das denn in professionellen Webapplikationen gelöst? Setzen die auch alle das inoffizielle innerHTML ein, oder verwursten die alles von Hand?
 
Zuletzt bearbeitet:
createTextNode() heißt so, weil er eine Instanz von Text zurückliefert, und Text wiederum ist von CharacterData abgeleitet. Daraus ergibt sich, daß ggf. Zeichen maskiert werden, was in diesem Fall mit der spitzen öffnenden Klammer geschieht.
Damit du Instanzen von Element einbinden kannst, mußt du diese separat erzeugen:

Code:
var node = document.createElement('P');
node.appendChild(document.createTextNode('Dies ist ein'));
node.appendChild(document.createElement('BR'));
node.appendChild(document.createTextNode('Zeilenumbruch'));

greetings, Keita
 

Ähnliche Themen

Zurück
Oben