2013-11-20 2 views
2

Я имею страницу 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"); 

И я использую эту линию после первого Append:

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

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

Однако, похоже, что это не работает, поскольку результаты все еще отображаются рядом друг с другом, а не в списке.

Любые идеи?

+0

Вариант вашего кода отлично подходит для меня: [jsFiddle] (http://jsfiddle.net/vLQh5/). Не забудьте добавить элемент br после добавления каждого элемента. – argo49

+0

Вместо того, чтобы постоянно искать элемент 'lbUsers', вы должны просто сохранить ссылку, например' var lbUsers = document.getElementById ('lbUsers') ' – Phil

ответ

4

Это не достаточно, чтобы создать BR элемент один раз, вы должны создать новый каждый раз, когда вам нужно сделать перерыв линии, мог бы также создать его рядный:

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

Демо: http://jsfiddle.net/ZEkCP/

+0

Спасибо, это работает. Хотя какая логика заключается в необходимости создавать новый разрыв строки каждый раз, когда вам это нужно? – Razgriz

+1

Потому что технически у вас много разрывов строк, а не только один. Как еще один ответ (теперь удаленный) указал, создаете ли вы его только один раз - каждый последовательный '.appendChild' просто перемещает его в новую позицию, удаляя из старой. –

0

Вы может поставить бр после LastName, как это:

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

простое присваивание добавка делает чудеса:

document.getElementById("lbUsers").innerHTML += row.UserId +'. '+ row.FirstName +' '+ row.LastName + '<br>' 
Смежные вопросы