Javascript 使用JS将div文本中的\n转换为
假设我有以下HTML文件Javascript 使用JS将div文本中的\n转换为,javascript,jquery,html,Javascript,Jquery,Html,假设我有以下HTML文件 ... <div class="field"> Lorem ipsum dolor sit amet,\nconsectetuer adipiscing elit. ... </div> ... <div class="field"> Phasellus faucibus molestie nisl.\nMorbi leo mi,\nnonummy eget tristique non,\nrhoncus non leo
...
<div class="field">
Lorem ipsum dolor sit amet,\nconsectetuer adipiscing elit. ...
</div>
...
<div class="field">
Phasellus faucibus molestie nisl.\nMorbi leo mi,\nnonummy
eget tristique non,\nrhoncus non leo. ...
</div>
...
下面的代码将\n字符替换为类似HTML的新行,即标记。但是,结果是序列会逐字出现在文本中,即,它们好像在粘贴到页面之前被转义了
$(".field").each(function()
{
var oldText = $(this).text();
var newText = oldText.replace(/\n/g, "<br />");
$(this).text(newText);
});
如何修复它,使其以真正的新行打断拉丁文本?使用.html而不是.text:
来源:使用.html而不是.text:
来源:获取字段的HTML,然后对HTML内容执行替换方法。这样,它可以根据需要进行渲染,而不是作为文本进行渲染。基本上,您需要将其呈现为HTML,而不是文本。因此,当您将新文本替换为HTML时,它将正确呈现 例如:
$(document).ready(function(){
$(".field").each(function()
{
var oldText = $(this).text();
var newText = oldText.replace(/\n/g, "</br>");
$(this).html(newText);
});
});
获取字段的HTML,然后对HTML内容执行replace方法。这样,它可以根据需要进行渲染,而不是作为文本进行渲染。基本上,您需要将其呈现为HTML,而不是文本。因此,当您将新文本替换为HTML时,它将正确呈现 例如:
$(document).ready(function(){
$(".field").each(function()
{
var oldText = $(this).text();
var newText = oldText.replace(/\n/g, "</br>");
$(this).html(newText);
});
});
$this.htmlnewText@斯拉克,不错。对于这种情况,这可能是一种更好的方法。@SLaks将此放入一个答案中,我将对此进行投票。不幸的是,事实证明,如果pre太长而无法放入其中,它不会自动断开一行。这就是我提出此解决方案的原因。但如果使用路径,例如:\\NewCatalog\NewItem\notepad?$this.htmlnewText@斯拉克,不错。对于这种情况,这可能是一种更好的方法。@SLaks将此放入一个答案中,我将对此进行投票。不幸的是,事实证明,如果pre太长而无法放入其中,它不会自动断开一行。这就是我提出此解决方案的原因。但如果您使用路径,例如:\\NewCatalog\NewItem\notepad,该怎么办?抱歉,这是在处理我的解决方案时发布的。抱歉,这是在处理我的解决方案时发布的。