簡體   English   中英

將\\ n替換為 <br> 不管用

[英]Replace \n with <br> is not working

在我的mongoDB中:

description: "Test\n\nTest"

當我嘗試在我的ejs文件中顯示該文本時,文本將忽略de“ \\ n”

測試一下

我的HTML

<div id="description">
    <%= test.description %>
</div>

我試圖使用以下代碼解決此問題:

var desc = $('#description').text();
desc.replace("\n", "<br>");

$('.description').text(desc);

還嘗試了:

desc.replace(/(?:\r\n|\r|\n)/g, '<br />');

和:

desc.split("\n").join("<br />");

這些都不起作用

如果我打印var desc = $('#description').text(); 在Chrome控制台中,它顯示如下:

              Test

Test

我在做什么錯,我該如何解決?

要更改HTML標記,請使用html()而不是text() 。... text()將忽略<br>標記

另外,您只是替換值而不更新它.....需要將替換的值放在desc變量中

desc = desc.replace(/\n/g, "<br>");

還有desc.replace("\\n", "<br>"); 只會替換第一個\\n匹配項

堆棧片段

 var desc = "Test\\n\\nTest" desc = desc.replace(/\\n/g, "<br>"); $('#description').html(desc); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="description"></div> 

使用您的代碼, desc.split("\\n").join("<br />"); 對我來說很好。

 var desc = $('#description').text(); console.log("original text = " + desc); desc = desc.split("\\n").join("<br />"); console.log("using split/join = " + desc); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="description"> Here is the contents of the div with line breaks in it. </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM