javascript中的多行输出

时间:2013-11-11 05:37:13

标签: javascript html

所以,让我先说我对Javascript没有多少经验。如果有人能给我一个基本的解释,那就太好了。

无论如何,我想采用二维矩阵并将其打印在屏幕上。到目前为止,这是我的代码:

function matrixToString(arr) {
returnString = "";
for (var i = 0; i < arr.length; i++){
    for (var j = 0; j < arr[i].length; j++){
        returnString += Math.round(arr[i][j]*10000)/10000 + ' ';
    }
    returnString += "\n";
}
    return returnString

}

因此,当我致电alert(matrixToString(n))时,它会按预期工作。但是,当我使用document.write(matrixToString(n))时,它基本上将所有内容放在一行上并打印该行。如果我将字符串放入div并附加div,则同样适用。

我想我的问题基本上是如何在JavaScript中将多行输出放到HTML中。

3 个答案:

答案 0 :(得分:0)

document.write已过时,因此请尝试直接操作DOM。

例如:

<div id="demo"></div>

<强> JS:

document.getElementById('demo').innerHTML = matrixToString(n);

另请参阅此answer

  

这取决于你对文字做了什么,但我的猜测是你   将其渲染为Html。在这种情况下,您应该使用<br />标记   而不是\ n。

所以请使用returnString += "<br />";来解决您的问题。

答案 1 :(得分:0)

你的代码中的

只需用“br”替换\ n 像这样

function matrixToString(arr) {
returnString = "";
for (var i = 0; i < arr.length; i++){
    for (var j = 0; j < arr[i].length; j++){
        returnString += Math.round(arr[i][j]*10000)/10000 + ' ';
    }
    returnString += "<br>";
}
    return returnString

}

这适用于我的案例

答案 2 :(得分:0)

您的多线要求仅用于演示目的吗?如果是这样,那么你只需要在每一行的末尾添加“
”。呈现HTML时,'\ n'不起作用。而只是替换:

returnString += "\n";

returnString += "<br/>";