在我的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 />");
这些都不起作用
如果我在Chrome控制台中打印var desc = $('#description').text();
,则会显示以下内容:
Test
Test
我做错了什么以及如何解决这个问题?
答案 0 :(得分:2)
使用html()
代替text()
,因为您想要更改HTML标记.... text()
会忽略<br>
代码
此外,您只是替换不更新它的值.....需要将替换值放在desc
变量中
desc = desc.replace(/\n/g, "<br>");
同样desc.replace("\n", "<br>");
将替换第一个\n
匹配
Stack Snippet
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>
答案 1 :(得分:0)
使用您的代码,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>