javascript createTextNode中的新行

js5cn81o  于 2023-05-16  发布在  Java
关注(0)|答案(4)|浏览(104)

我想在div中创建一个新段落:
我想在段落中使用新的行。我正在使用\n转义它们,但它们正在创建新行。我做错了什么?

var oNewP = document.createElement("p");
var oText = document.createTextNode("Harry Huy\nPresident\n283.423.6431\nharry.huy@hello.com");
oNewP.appendChild(oText);
document.body.appendChild(oNewP);

var Test = document.getElementById('Test');
Test.appendChild(oNewP);

http://jsfiddle.net/4qvydycf/4/

fcg9iug3

fcg9iug31#

文本中的新行通常不会在HTML文档中创建新行。不管你是不是在使用JavaScript。结果是一样的有。。

<p>Harry Hun
President

在HTML中新行被视为任何其他空白(新行,制表符,空格)字符。
你处理这个问题的方式和你在HTML中做的一样。或者:

  • 使用多个文本节点,节点之间有br元素
  • 使用CSS white-space属性
  • 使用默认应用white-space属性的元素(如pre)。
dfuffjeb

dfuffjeb2#

\n不是HTML元素,请使用<br />元素。但是createTextNode不会将文本呈现为HTML,因此您需要执行以下操作:

var Test = document.getElementById('Test');
Test.appendChild(document.createTextNode("Harry Huy"));
Test.appendChild(document.createNode('br'));
Test.appendChild(document.createTextNode("President"));
Test.appendChild(document.createNode('br'));
Test.appendChild(document.createTextNode("283.423.6431"));
Test.appendChild(document.createNode('br'));
Test.appendChild(document.createTextNode("harry.huy@hello.com"));
eblbsuwk

eblbsuwk3#

只需要使用pre标签,并保留段落,就像这样用\n连接它:

var oNewP = document.createElement("pre");
    var oText = document.createTextNode("Harry 
Huy\nPresident\n283.423.6431\nharry.huy@hello.com");
    oNewP.appendChild(oText);
    document.body.appendChild(oNewP);

    var Test = document.getElementById('Test');
    Test.appendChild(oNewP);
nfzehxib

nfzehxib4#

let temp = document.createElement('div');
        temp.innerText = html;
        content.innerHTML = temp.innerHTML;

相关问题