如何用jquery中的\ n(新行)替换<br/>标签

时间:2012-08-08 06:12:11

标签: javascript jquery jsp-tags

我使用此代码段将<br/>标记替换为jquery中的“\ n”(新行)。但它不起作用

  $("#UserTextArea").html(data.projectDescription).replace(/\<br\>/g, "\n");

但是为什么不起作用?

3 个答案:

答案 0 :(得分:2)

.replace()不会更改内容本身。它返回一个新字符串,因此如果要使用该新字符串,则必须将返回值从.replace()放到某处。

如果您通过转义\并使其成为可选项来定位<br\>,则可能还需要修复正则表达式。

仅供参考,在HTML中,\n无法执行任何操作,因此,如果您只是尝试删除<br>中的所有#UserTextArea标记,则只需使用DOM解析器即可这样:

$("#UserTextArea br").remove();

或者,如果您只想将带有<br>标记的字符串替换为可用于其他内容的变量,则可以执行以下操作:

var str = $("#UserTextArea").html().replace(/\<br\\?>/g, "\n");

或者,您要删除<br>表单data.projectDescription并将其作为HTML分配给#UserTextArea,您可以这样做:

$("#UserTextArea").html(data.projectDescription..replace(/\<br\\?>/g, "\n"));

答案 1 :(得分:1)

$("#UserTextArea").html(data.projectDescription.replace(/\<br[\/]*\>/g, "\n"));

答案 2 :(得分:0)

$('#UserTextArea').html(data.projectDescription.replace(/\<br\s*\>/g, '\n'));

或者,搜索并替换元素的内部HTML:

var $element = $('#UserTextArea');
var html = $element.html();
$element.html(html.replace(/\<br\s*\>/g, '\n'));