2012-11-22 78 views
2

我有一个字符串与\n - 在Javascript中的换行符,我想用Javascript中的createTextNode()代替另一个文本。javascript替换 n与<br>里面createTextNode

<script type="text/javascript"> 

function changeText() { 

var Explanation="Test\n Test2"; 

var parent3 = document.getElementById("The_Explanation"); 
parent3.innerHTML=''; 
var myP3 = document.createElement("p"); 
var myText3 = document.createTextNode(""+Explanation); 
myP3.appendChild(myText3); 
parent3.appendChild(myP3); 
} 
</script> 

到目前为止,所有尝试将换行符都变成新文本失败。该更换\n<br>所有功能只给我带来的结果

"Test<br> Test2" 

任何想法吗?

回答

7

你不能把一个元素节点文本节点内。文本节点不能有子节点。

  1. 分割你的字符串上新的生产线
  2. 循环阵列上,并为每个部分
  3. 使用createElement('br')文本节点创建一个换行符每个文本节点之间去
  4. 追加所有的以上
1

您可以使用替换为:

Explanation.replace(/\n/g, "<br />")l 
+0

这里你不需要转义'\' – Damask