0

我使用此代码片段将<br/>标签替换为 jquery 中的“\n”(新行)。但它没有用

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

但它没有工作,这是为什么?

4

3 回答 3

2

.replace()不会改变内容本身。它返回一个新字符串,所以如果你想使用这个新字符串,你必须把返回值.replace()放在某个地方。

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

仅供参考,在 HTML a\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"));
于 2012-08-08T06:15:34.843 回答
1

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

于 2012-08-08T06:14:52.363 回答
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'));
于 2012-08-08T06:20:46.290 回答