Wie mache ich Zeilenumbrüche in DHTML (W3C DOM)
Dave
- dhtml
//Mit .innerHtml klappen Zeilenumbrüche ganz einfach,
//zB:
//...
<div id="effekt"> </div>
//...
var zeile = ' '; // global
var start_ID;
function starten()
{
start_ID = setInterval("bla()",120);
}
function bla()
{
zeile = wort + "\n" + zeile
document.all.effekt.innerHTML = zeile;
}
//...
//aber wenn man die w3c DOM verwendet klappts
//zumindest so net:
document.getElementById("effekt").firstChild.nodeValue = zeile;
//dann wird das "\n" einfach ignoriert,
//wie krieg ich die Zeilenumbrüche jetzt hin?
Hallo,
//dann wird das "\n" einfach ignoriert,
\n ist JavaScript und ergibt das selbe als würdest Du einen Zeilenumbruch im HTML-Quelltext schreiben: jede HTML-Engine rendert das als Leerzeichen bzw. ignoriert es, wenn es mehr als ein Leerzeichen gibt. (Ausnahme: innerhalb von <pre>...</pre>)
//wie krieg ich die Zeilenumbrüche jetzt hin?
Wie immer in HTML: mit <br>
Grüße,
Utz
Wie immer in HTML: mit <br>
leider net,
also wenn ich jetzt:
<div id="effekt"> </div>
//...
var zeile = ' '; // global
var start_ID;
function starten()
{
start_ID = setInterval("bla()",120);
}
function bla()
{
zeile = wort + "<br>" + zeile
document.getElementById("effekt").firstChild.nodeValue = zeile;
}
...mache wird kein <br> gemacht, sondern mit im String ausgegeben.
Oder hab ich dich falsch verstanden?
Hi,
So wie du das machst würde es nur mit der (Nicht-Standard) Funktion innerHTML klappen (auch mit Mozilla/NN7).
Beim W3C Weg ist jedes Fitzelchen ein eigenes Element, also auch das <br>.
Dominik
...aso, und wie mach ich das <BR> jetzt dahin wo ichs haben will?
oder muss ich ganz anders vorgehn?
hat keiner eine Antwort?
Hallo,
Habe gar nicht gesehen dass du noch was geschrieben hast...
Wenn du wissen willst wie es geht kannst du das in der Selfhtml nachlesen:
http://selfhtml.teamone.de/dhtml/modelle/dom.htm
in deinem Fall könnte es so - oder so ähnlich - klappen:
<html>
<body>
<div id="efekt"></div>
<script type="text/javascript">
function anhaengen() {
document.getElementById("efekt").appendChild(document.createTextNode("Hallo"));
document.getElementById("efekt").appendChild(document.createElement("br"));
document.getElementById("efekt").appendChild(document.createTextNode("Test123"));
document.getElementById("efekt").appendChild(document.createElement("br"));
}
</script>
<form name="testFormular" action="">
<input type="button" value="Add" onClick="anhaengen()">
</form>
</body>
</html>
mfg
Dominik