javascript用createTextNode替换\ n

时间:2012-11-22 11:28:34

标签: javascript line-breaks createtextnode

我有一个\n的字符串 - Javascript中的换行符,我想在Javascript中使用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"

任何想法?

2 个答案:

答案 0 :(得分:7)

您不能将元素节点放在文本节点中。文本节点不能有子节点。

  1. 将您的字符串拆分为新行
  2. 遍历数组并为每个部分生成文本节点
  3. 使用createElement('br')在每个文本节点之间创建换行符
  4. 追加上述所有内容

答案 1 :(得分:1)

你可以使用替换:

   Explanation.replace( /\n/g, "<br />" )l
相关问题