我有输入textarea和show-div来显示输入:
<textarea id="inputtext" style="height:100px"></textarea>
<button id="show">show in div</button>
<div id="showtext">
</div>
和我的js:
$(function(){
$('#show').on('click',function(){
var text = $.trim($('#inputtext').val());
text = text.replace(/\r?\n/g, "<br />").replace(/<br\s*[\/]?>/gi, "\n");
$('#showtext').text(text);
});
});
我想要的是,如果你给予:
a
b
c
它也应该以这种形式显示。但它现在显示:a b c
。
这是我的小提琴:http://jsfiddle.net/5gkak/
我做错了什么?答案 0 :(得分:8)
您需要更改小提琴以符合此项:http://jsfiddle.net/5gkak/1/
$(function(){
$('#show').on('click',function(){
var text = $.trim($('#inputtext').val());
text = text.replace(/\r?\n/g, "<br />");
$('#showtext').html(text);
});
});
您所拥有的内容是将\n
替换为<br />
,然后反向执行相同操作,以便<br />
替换为\n
。你还需要设置#showtext
的html。查看jQuery文档中.text
和.html
的区别。
还有其他选项(这些选项来自问题的评论部分):