【问题标题】:character that represents new line across all platforms in JavaScript [duplicate]代表JavaScript中所有平台的换行符[重复]
【发布时间】:2013-05-24 13:07:24
【问题描述】:

规格

我正在使用 Linux Mint 14。我最近开始使用 JavaScript,并尝试进行一些输出格式化(打印随机数,每行一个)并像往常一样使用 \n。但这似乎不起作用。

在 chromium 网络浏览器和 Mozilla firefox 上,都只显示一个空格。

代码

<HTML>

<HEAD>

<TITLE> GENERATE RANDOM NUMBERS AND PRINT THEM </TITLE>

<BODY>

<div id='container'>

<button onclick='startPrinting()'>Generate random numbers </button>

</div>

</BODY>

</HTML>

</HEAD>

<script>

function startPrinting()
{

var b = document.getElementById('container');

//b.innerHTML += Math.floor(Math.random() * 1000);

b.innerHTML += '<br>The following are some random numbers.<br>';

for(var i =1;i<10;i++)
{

b.innerHTML += '\n';

b.innerHTML += i + '.' + Math.floor(Math.random() * 1000);

}

}

</script>

我试过&lt;br&gt;,效果很好。但是现在我有很多文件,我有\n

那么有没有办法告诉脚本用&lt;br&gt; 替换所有出现的\n

如果可能,请给出一个答案,以确保我只需在现有文件中添加几行代码。

(我在 C++ 中寻找类似 @​​987654327@ 的东西)

帮我解决这个问题。

【问题讨论】:

  • 您的问题不是'\n' 不是换行符,而是当呈现HTML时,所有空格都被视为相同(作为空格)。

标签: javascript


【解决方案1】:

如果我正确理解了这个问题,你需要一个垂直的数字列表吗?

如果是这样,那么它就像下面一样简单。

function startPrinting()
    {

    var b = document.getElementById('container');

    var nums =[1,2,3,4,5,6,7,8,9,10] 

    var html =[]
    html.push("<ul>")
    for(var i =1;i<nums .length;i++)
    {

    html.push("<li>"+nums[i] +"</li>"); 

    }
    html.push("</ul>")
    b.innerHTML =html.join("");
    }

【讨论】:

    【解决方案2】:

    您可以在 pre 标记内执行此操作,该标记需要预先格式化的文本并将 \n 视为换行符:

    <pre id="container">
        1
        2
        3
    <pre>
    

    将输出:

    1
    2
    3
    

    您可以在JsFiddle 上尝试一下

    【讨论】:

    • 好吧,我没有预先格式化的文本......你能帮我处理一下我的 JS 输出吗?
    • @IcyFlame:只需将div 更改为pre 并使用\n 作为换行符。
    • @IcyFlame:为什么不能用&lt;pre&gt; ... &lt;/pre&gt; 标签包围生成的文本?
    • @IcyFlame:查看我制作的 JsFiddle:jsfiddle.net/zULEB/1。为什么要投反对票?
    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 2012-05-23
    • 2018-09-25
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    相关资源
    最近更新 更多