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 に答える