javascript 在 createTextNode 中用 <br> 替换 \n

Posted

技术标签:

【中文标题】javascript 在 createTextNode 中用 <br> 替换 \\n【英文标题】:javascript Replacing \n with <br> inside createTextNodejavascript 在 createTextNode 中用 <br> 替换 \n 【发布时间】:2012-11-10 19:10:34 【问题描述】:

我有一个带有\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 替换为&lt;br&gt; 的函数只会让我得到结果

"Test<br> Test2"

有什么想法吗?

【问题讨论】:

【参考方案1】:

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

    在新行上拆分字符串 遍历数组并为每个部分生成一个文本节点 使用createElement('br') 在每个文本节点之间创建一个换行符 附加以上所有内容

【讨论】:

【参考方案2】:

您可以为此使用替换:

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

【讨论】:

这里不用转义'\'

以上是关于javascript 在 createTextNode 中用 <br> 替换 \n的主要内容,如果未能解决你的问题,请参考以下文章

Javascript/JQuery 仅在页面焦点上执行 Javascript

JavaScript 在HTML中使用 JavaScript

为啥内联 JavaScript 在引用 JavaScript 错误时起作用 [重复]

如何在另一个 JavaScript 文件中包含一个 JavaScript 文件?

javascript中如何加载freemark指令

如何在html代码里面调用javascript变量?