4

我在变量中有一些文本sometext,我想div使用$('div').text(sometext);. 问题是所有<br/>的 s 都sometext变成了&lt; br/ &gt;. 我不能使用$('div').html(),因为我想在 中保留很多内部结构div,所以我只能使用该.text()功能。

因此,一旦我将文本传递给div,有没有办法将编码<br/>标记更改为 HTML 中的真正换行符?我的意思是这样的:

$('div').convertMyBRsToHTML();
4

2 回答 2

5

您请求的函数应如下所示:

$.fn.convertMyBRsToHTML = function(text){
    this.text(text);
    this.html(this.html().replace(/&lt;br\s*\/&gt;/g,'<br/>'));
    return this;
}

现在您可以通过以下方式使用:

$(YOUR_SELECTOR).convertMyBRsToHTML("<b>Some</b> new text.<br />next line<br />and so on");
于 2013-01-20T15:49:23.100 回答
2

<br>您可以在设置文本之前替换s:

$('div').text(sometext.replace(/<br\s*\/?>/gi, '\n');
于 2013-01-20T15:35:27.837 回答