我需要将Feed行字符
替换为<br>
,但在我的生命中无法使其生效。请参阅下面的代码和jsfiddle以获得有效的演示。
<p id="testText">Test Test Test</p>
var $text = $('#testText');
var tempText = $text.text();
tempText.replace(" ", "<br>");
tempText.replace("\n", "<br>");
tempText.replace("\r", "<br>");
tempText.replace("\n\r", "<br>");
$text.text(tempText+"!");
答案 0 :(得分:2)
replace
函数返回它的结果,因为字符串本身是不可变的。您只需在调用replace时设置变量:
tempText = tempText.replace(" ", "<br>");
这是你固定的小提琴:http://jsfiddle.net/AR2xH/3/
如果你真的想要一个换行而不是String,那么使用jQuerys html()
函数而不是text()
:
$text.html(tempText+"!");
答案 1 :(得分:1)
您必须编辑HTML而不是简单地替换文本。所以先替换文本,然后设置HTML
$(document).ready(function()
{
var $text = $('#testText');
var tempText = $text.text();
tempText = tempText.replace(" ", "<br>");
tempText = tempText.replace("\n", "<br>");
tempText = tempText.replace("\r", "<br>");
tempText = tempText.replace("\n\r", "<br>");
$text.html(tempText+"!");
});
答案 2 :(得分:0)
$(document).ready(function()
{
var $text = $('#testText');
var tempText = $text.text();
tempText = tempText.replace(" ", "<br>");
tempText = tempText.replace("\n", "<br>");
tempText = tempText.replace("\r", "<br>");
tempText = tempText.replace("\n\r", "<br>");
$text.text(tempText+"!");
});
我添加了等待加载文档,并将tempText的值设置为替换值。
答案 3 :(得分:-1)
var $text = $('#testText');
var tempText = $text.text();
tempText = tempText.replace(" ", "<br>");
tempText = tempText.replace("\n", "<br>");
tempText = tempText.replace("\r", "<br>");
tempText = tempText.replace("\n\r", "<br>");
$text.text(tempText+"!");
答案 4 :(得分:-1)
jQuery text
函数自动转义任何潜在的html实体。请改用html
函数,如下所示:
$text.html(tempText+"!");
此外,正如Jivings所指出的,replace
函数不会修改字符串。相反,你必须做tempText = tempText.replace([etc.]);