我无法使用' \ n"在javascript中,我不知道为什么它不起作用

时间:2016-08-01 07:39:09

标签: javascript html

据我所知,写一个新行是" \ n",所以我尝试了很多次,但它没有工作。这是我的源代码和结果的屏幕截图



var ary3 = new Array('seven','eight', 'nine');
for (var i =0; i<ary3.length ; i++){
    document.getElementById('demo3').innerHTML += i+"'\nth element\n[enter image description here][1] : " + ary3[i]+"\n";
}
&#13;
<h1>Show me the array object's entry</h1>
<div id = 'demo3'></div>
<br>
&#13;
&#13;
&#13;

6 个答案:

答案 0 :(得分:3)

HTML中通常将空格折叠为最多一个空格。实施例

&#13;
&#13;
<div>a
b        c</div>
&#13;
&#13;
&#13;

将显示为a b c

您有几个选择

  1. 使用pre

    <pre>a
    b</pre>
    

    将显示为

    a
    b
    
  2. 在div上使用white-space: pre; CSS

     <div style="white-space: pre;">a
     b</div>
    

    将打破换行符

  3. 为`\ n&#39;插入<br/>如在

     var someString = "a\nb\nc";
     someElement.innerHTML = someString.replace(/\n/g, "<br/>");
    
  4. 至于循环的具体示例,您还可以选择插入单独的元素

    &#13;
    &#13;
    function insertDivWithText(parent, text) {
       var div = document.createElement("div");
       div.appendChild(document.createTextNode(text));
       parent.appendChild(div);
    }
    
    var demo3 = document.querySelector("#demo3");
    var ary3 = ['seven','eight', 'nine'];
    for (var i = 0; i < ary3.length ; ++i) {
       var div = document.createElement("div");
       insertDivWithText(demo3, i + "th element");
       insertDivWithText(demo3, "[enter image description here][1] : " + ary3[i]);
    }
    &#13;
    <h1>Show me the array object's entry</h1>
    <div id = 'demo3'></div>
    <br>
    &#13;
    &#13;
    &#13;

    另请注意,将.innerHTML与用户数据一起使用可能会让您遇到脚本漏洞。考虑使用document.createTextNodeelement.textContentelement.innerText

答案 1 :(得分:1)

您正在编写HTML,DOM,因此您必须使用<br>标记,而不是换行符。

答案 2 :(得分:1)

问题是来自JS的换行符将呈现为普通空格。 HTML负责显示新行,但HTML不会注意文本中的简单新行。您可以使用开发人员的工具检查HTML。您将看到JS创建了新行: derveloper tools

要使新线路正常工作,您应添加<br />代码

var ary3 = new Array('seven','eight', 'nine');
for (var i =0; i<ary3.length ; i++){
    document.getElementById('demo3').innerHTML += i+"'<br/>\nth element<br/>\n[enter image description here][1] : " + ary3[i]+"<br/>\n";
}
<h1>Show me the array object's entry</h1>
<div id = 'demo3'></div>
<br>

答案 3 :(得分:0)

如果您尝试创建HTML新行,请使用<br>

答案 4 :(得分:0)

新行的Html代码为<br>

如:

document.getElementById('demo3').innerHTML += i+"'nth element<br>[enter image description 

答案 5 :(得分:0)

您的输出是 html 。在html中,使用 <br /> 标记来破坏该行。