将br附加到跨度

时间:2013-11-20 02:44:00

标签: javascript dom

我有一个带有跨度的HTML页面,如下所示:

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

我使用这种JavaScript方法填充范围:

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

这很好用,并显示元素。但是,由于没有换行符,因此它们显示为:

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

我希望反而出现:

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

到目前为止,我试图通过以下方式声明我自己的断行:

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

我在第一次追加后使用这一行:

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

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

但是,它似乎不起作用,因为结果仍然显示在彼此旁边而未列出。

有什么想法吗?

3 个答案:

答案 0 :(得分:4)

仅创建一次BR元素是不够的,每次需要换行时都必须创建一个新元素,不妨创建内联:

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

演示:http://jsfiddle.net/ZEkCP/

答案 1 :(得分:0)

你可以把LastName之后的br放在这个:

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

答案 2 :(得分:0)

一个简单的附加赋值可以创造奇迹:

document.getElementById("lbUsers").innerHTML += row.UserId +'. '+ row.FirstName +' '+ row.LastName + '<br>'