以下代码中嵌入的“\ 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);
}
答案 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);
}
//已修复!