【问题标题】: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"

有什么想法吗?

【问题讨论】:

    标签: javascript line-breaks createtextnode


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您可以为此使用替换:

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

      【讨论】:

      • 这里不用转义'\'
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 2011-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多