Ich habe eine HTML-Seite mit einer Spanne wie unten gezeigt:

<span id="lbUsers"></span>

Und ich fülle die Spanne mit dieser JavaScript-Methode:

document.getElementById("lbUsers").appendChild(document.createTextNode
              (row.UserId + ". " + row.FirstName+ " " + row.LastName));

Dies funktioniert einwandfrei und die Elemente werden angezeigt. Da jedoch keine Zeilenumbrüche vorhanden sind, werden sie als solche angezeigt:

1. FN1 LN1 2. FN2 LN2 3. FN3 LN3 (.....)

Und ich möchte stattdessen als solches erscheinen:

1. FN1 LN1
2. FN2 LN2
3. FN3 LN3
(...)

Bisher habe ich versucht, meine eigene Bruchlinie zu deklarieren, indem ich Folgendes getan habe:

var lineBreak = document.createElement("br");

Und ich benutze diese Zeile nach dem ersten Anhängen:

document.getElementById("lbUsers").appendChild(document.createTextNode
             (row.UserId + ". " + row.FirstName+ " " + row.LastName));

document.getElementById("lbUsers").appendChild(lineBreak);

Es scheint jedoch nicht zu funktionieren, da die Ergebnisse immer noch nebeneinander angezeigt und nicht aufgelistet werden.

Irgendwelche Ideen?

2
Razgriz 20 Nov. 2013 im 06:44

3 Antworten

Beste Antwort

Es reicht nicht aus, ein BR-Element einmal zu erstellen. Sie müssen jedes Mal, wenn Sie einen Zeilenumbruch benötigen, ein neues erstellen. Sie können es auch inline erstellen:

document.getElementById("lbUsers").appendChild(document.createElement("br"));

Demo: http://jsfiddle.net/ZEkCP/

4
Yuriy Galanter 20 Nov. 2013 im 02:52

Sie können das br nach LastName wie folgt setzen:

document.getElementById("lbUsers").appendChild(document.createTextNode
          (row.UserId + ". " + row.FirstName+ " " + row.LastName + "<br>"));
0
Rob Dawley 20 Nov. 2013 im 03:33

Eine einfache additive Zuordnung macht Wunder:

document.getElementById("lbUsers").innerHTML += row.UserId +'. '+ row.FirstName +' '+ row.LastName + '<br>'
0
Steven Pribilinskiy 2 Mai 2014 im 16:46