我使用此代码片段将<br/>
标签替换为 jquery 中的“\n”(新行)。但它没有用
$("#UserTextArea").html(data.projectDescription).replace(/\<br\>/g, "\n");
但它没有工作,这是为什么?
我使用此代码片段将<br/>
标签替换为 jquery 中的“\n”(新行)。但它没有用
$("#UserTextArea").html(data.projectDescription).replace(/\<br\>/g, "\n");
但它没有工作,这是为什么?
.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"));
$("#UserTextArea").html(data.projectDescription.replace(/\<br[\/]*\>/g, "\n"));
$('#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'));