Javascript 如何在createTextNode中插入换行符

Javascript 如何在createTextNode中插入换行符,javascript,Javascript,对于在p元素中输出一些XML代码的小程序,我需要在输出中有一些换行符。 上周我尝试了很多东西,比如document.createElement(“br”);或插入转义字符\n或unicode空白字符\u000A,但无效 我现在的输出: <viva:form rdf:parseType="Resource"> <viva:title>55</viva:title> 55 我需要这样: <viva:form rdf:parseType="Resource

对于在p元素中输出一些XML代码的小程序,我需要在输出中有一些换行符。 上周我尝试了很多东西,比如document.createElement(“br”);或插入转义字符\n或unicode空白字符\u000A,但无效

我现在的输出:

<viva:form rdf:parseType="Resource"> <viva:title>55</viva:title>
55
我需要这样:

<viva:form rdf:parseType="Resource">
  <viva:title>55</viva:title>

55
我的代码:

var vivaTitle;
函数元素eabrufen(){
vivaTitle=document.getElementById(“inputVivaTitle”).value;
var p=document.createElement(“p”);
var t=document.createTextNode(headErzeugen());
p、 儿童(t);
document.body.appendChild(p)
}
职能负责人Zeugen(){
//插入unicode lf
var lf=“\u000A”;
var xmlHeadStruktur=“”;
var xmlHeadTitle=“”+vivaTitle+”;
返回xmlHeadTruktur+lf+xmlHeadTitle
}

viva:title: 发送

这行吗

var t = document.createTextNode(headErzeugen() + '<br />');
var t=document.createTextNode(headErzeugen()+”
);
使用\n很好。下面是一个JSFIDLE:

“\n”、“u000a”等均应有效,但我建议使用“\n”。大多数人会更好地认识到这一点

这对你不起作用的原因是HTML压缩了所有的空白。因此,即使文本节点包含一个换行符,它也与HTML中键入的换行符相同(这些也是文本节点)

您可以在上面的代码片段中看到,我包含了一个“空白:pre;”规则这使得它不会折叠空白。有关更多选项,请参见此处:


如果您正在格式化原始文本以便这样显示,那么这可能是最简单的方法。当然,您应该将空白规则放在一个单独的css文件中。

Wow。这就是解决办法。上周我在网上搜索了几个小时,什么也没找到。很好的解释,所以我现在真的明白了这是怎么回事。谢谢。
var text = document.createTextNode("Hello\u000aWorld");

document.body.appendChild(text);
document.body.style = "white-space: pre;"