这里有很多关于在不同语言之间转换br />或保留换行符的线程,但是关于textarea的线程并不多。

我有这个脚本:

var boxText = "";
$("textarea.BoxText").live('dblclick', function () {
    boxText = $(this).val().replace(/ /g, "<br/>");
  $(this).replaceWith( '<div class="BoxText">' + $(this).val() + '</div>' );

});
$("div.BoxText").live('dblclick', function () {
  $(this).replaceWith( '<textarea form="HTML" class="BoxText">' + boxText + '</textarea>' );
});

我有一个textarea元素,可编辑。当用户双击它时,它将转换为div。但是,在div中,不保留换行符。我只想将新行转换为,目前所有空格都在转换中。我有第二个脚本将其转换回textarea,因此是用于存储字符串的变量。我还需要将的内容重新转换为新行。

这似乎是多余的,但我对此有充分的理由。

最佳答案

这会将换行符替换为HTML换行标记。不同的组合将涵盖不同的浏览器/系统以及如何解释换行符。

$(this).val()。replace(/ \ r \ n | \ r | \ n / g,“
”)

这将使它重新出现-也涵盖了不同浏览器如何解释innerHTML。

boxText.replace(/
/ g,“\ n”);

08-07 22:42