从字符串js / jquery中删除html标记

时间:2015-06-18 07:47:12

标签: javascript jquery html

我正在尝试使用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);

3 个答案:

答案 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 />"));

Demo

答案 2 :(得分:0)

另一种选择是使用white-space规则

&#13;
&#13;
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;
&#13;
&#13;