我在变量sometext
中有一些文字,我希望使用div
分配给$('div').text(sometext);
。问题是<br/>
中的所有sometext
都变为< br/ >
。我无法使用$('div').html()
因为我希望在div
中保留很多内部结构,所以我只能使用.text()
函数。
因此,一旦我将文本传递到div
,是否有任何方法可以将编码的<br/>
标记更改为HTML中的实际换行符?我的意思是这样的:
$('div').convertMyBRsToHTML();
答案 0 :(得分:5)
您要求的功能应如下所示:
$.fn.convertMyBRsToHTML = function(text){
this.text(text);
this.html(this.html().replace(/<br\s*\/>/g,'<br/>'));
return this;
}
现在你可以使用:
$(YOUR_SELECTOR).convertMyBRsToHTML("<b>Some</b> new text.<br />next line<br />and so on");
答案 1 :(得分:2)
您可以在设置文字之前替换<br>
:
$('div').text(sometext.replace(/<br\s*\/?>/gi, '\n');