在JavaScript字符串中嵌入新的行字符

时间:2015-05-13 18:07:39

标签: javascript newline

以下代码中嵌入的“\ n”字符不会在生成的字符串中产生换行符。我是什么做的??? : - )

/* Load array into DOM */
var directory = document.getElementById ("directory");
directory.innerHTML = "";
var numberOfHouses = house.length;
for (i = 0; i < numberOfHouses; i++) {
    var houseNode = document.createElement('span');
    var text = (house[i][0] + "\n" + house[i][1] + "\n" + house[i][2] + "\n" + house[i][3] + "\n " + house[i][4] + "\n" + house[i][5] + "\n" + house[i][6] + "\n" + house[i][7] + "\n" + house[i][8] + "\n\n");
    var houseText = document.createTextNode(text);
    houseNode.appendChild(houseText);
    directory.appendChild(houseNode);       
  }

3 个答案:

答案 0 :(得分:1)

这是因为文本节点中的换行符不会呈现为换行符。

如果您想在网页上添加换行符,则需要使用white-space: pre-line;等CSS来对其进行计数,或者添加<br>元素

答案 1 :(得分:0)

您需要使用<br>制作新行。您正在使用javascript创建字符串,但它正在以HTML格式进行解释。

答案 2 :(得分:0)

var directory = document.getElementById ("directory");
directory.innerHTML = "";
var numberOfHouses = house.length;
for (row = 0; row < numberOfHouses; row++) {
  var houseNode = document.createElement('span');
  for (column = 0; column < 9; column++) {
    var text = (house[row][column]);
    var houseText = document.createTextNode(text);
    houseNode.appendChild(houseText);
    directory.appendChild(houseNode);
    var brNode = document.createElement ('br');
    houseNode.appendChild(brNode);
  }
  var pNode = document.createElement('p');
  directory.appendChild(pNode);
}

//已修复!