【问题标题】:Make a new line in substring (JavaScript)在子字符串中换行(JavaScript)
【发布时间】:2020-08-11 10:24:43
【问题描述】:

我正在尝试用其中的新行替换子字符串。

我的代码: str = str.split('testtest').join('test\ntest')

我的字符串: test,test,testtest,test,testtest,test,test

它应该如何照顾代码行被调用:

test,test,test
test,test,test
test,test,test

它被调用后的实际样子 test,test,testtest,test,testtest,test,test

【问题讨论】:

  • 你在哪里输出这个结果?如果你记录它,你会得到想要的结果,如果你将它用作 HTML,那么换行符将被忽略。

标签: javascript substring newline


【解决方案1】:

假设您想将此结果放在 html 元素中,最简单的方法是使用 innerText 而不是 innerHTML

innerText 将保留换行符,而 innerHTML 不会。

var str = "test,test,testtest,test,testtest,test,test"

str = str.split("testtest").join("test\ntest");

document.getElementById("result").innerText = str;
<div id="result"></div>

【讨论】:

    【解决方案2】:

    方式1:pre标签不修剪\n符号:

    const str = 'test,test,testtest,test,testtest,test,test'
      .split('testtest').join('test\ntest');
    pre.innerHTML = str;
    <pre id=pre></pre>

    方式二:br

    const str = 'test,test,testtest,test,testtest,test,test'
      .split('testtest').join('test<br/>test');
    document.body.innerHTML = str;

    【讨论】:

      【解决方案3】:

      这是关于你如何输出它。如果您将其输出到控制台,那么新行将按预期工作。如果您尝试将其输出到 HTML,那么您需要使用 &lt;br /&gt; 而不是 \n 或者甚至将其包装在 &lt;pre&gt; 标记中,就像另一个答案所建议的那样。要将其格式化为标记,我会这样做:

      let str = "test,test,testtest,test,testtest,test,test";
      str = str.split('testtest').join('test<br />test');
      

      【讨论】:

        猜你喜欢
        • 2020-07-14
        • 2017-11-14
        • 2013-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多