如何在换行符上插入javascript textNode元素

Ant*_*ony 21 javascript

我在javascript中插入了几个textNodes,并且无法弄清楚如何用回车分隔它们.我尝试过"\n","\ r"和"
",但它们都不起作用

var textNode = document.createTextNode("Node on line 1");
element.appendChild(textNode);

textNode = document.createTextNode("Node on line 2");
element.appendChild(textNode);
Run Code Online (Sandbox Code Playgroud)

我希望它显示为:

第1行的节点

第2行的节点

第2行上的节点在第2行上

关于如何实现这一目标的任何提示?

Sel*_*amy 39

使用<br>将它们分开为这样的

var br = document.createElement("br");
element.appendChild(br);
Run Code Online (Sandbox Code Playgroud)


Abd*_*nim 8

渲染引擎不考虑换行回车.如果你使用<br />这样的话会更好:

var textNode = document.createTextNode("Node on line 1");
element.appendChild(textNode);

var linebreak = document.createElement('br');
element.appendChild(linebreak);

var linebreak = document.createElement('br');
element.appendChild(linebreak);

textNode = document.createTextNode("Node on line 2");
element.appendChild(textNode);
Run Code Online (Sandbox Code Playgroud)

谢谢Doug Owings.另外http://jsfiddle.net/Q8YuH/3/

  • 空格的处理在[HTML 4.01规范](http://www.w3.org/TR/html401/struct/text.html#h-9.1)中定义.标记中的空格折叠为单个空格,仅包含空格的元素可以将其完全删除.鉴于网络上的绝大多数内容都是HTML,甚至带有XHTML DOCTYPE的文档也被用作HTML(因此被浏览器视为HTML文档),BR元素的适当标记是<br>. (2认同)