3

我在 Javascript 中有一个带有\n- 换行符的字符串,我想用createTextNode()Javascript 替换另一个文本。

<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"

有什么想法吗?

4

2 回答 2

8

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

  1. 在新行上拆分字符串
  2. 循环遍历数组并为每个部分生成一个文本节点
  3. 用于createElement('br')在每个文本节点之间创建换行符
  4. 附加以上所有内容
于 2012-11-22T11:34:07.120 回答
1

您可以为此使用替换:

   Explanation.replace( /\n/g, "<br />" )l
于 2012-11-22T11:32:41.833 回答