我正在尝试使用html标签显示我从服务器获取的文本。
让我说我得到了
"a\nb\nc\nd\ne\nf\n"
我希望展示
a
b
c
d
e
f
我尝试使用jquery text()但我得到空字符串:
var answer = params.question.answer;
$('#answer_text').html($(answer).text());
我也尝试过正则表达式,但没有任何反应:
var regex = /(<([^>]+)>)/ig;
var answer = params.question.answer.replace(regex, '');
$('#answer_text').html(answer);
答案 0 :(得分:2)
您需要将\n
转换为<br/>
才能在html中创建换行符:
var answer= "a\nb\nc\nd\ne\nf\n";
$('#answer_text').html(answer.replace(/\n/g, "<br />"));
<强> Working Demo 强>
答案 1 :(得分:2)
使用REGEX删除\n
并添加<br />
标记。
尝试:
var answer = "a\nb\nc\nd\ne\nf\n";
var regex = /\n/gi;
$('#answer_text').html(answer.replace(regex, "<br />"));
答案 2 :(得分:0)
另一种选择是使用white-space规则
var answer = "a\nb\nc\nd\ne\nf\n";
$('#answer_text').html(answer);
&#13;
#answer_text {
white-space: pre-line;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="answer_text"></div>
&#13;