簡體   English   中英

如何在textarea中保留html新行

[英]How to keep html new line in textarea

我正在使用讀取列內容

$("#myText").text($.trim($(this).closest('tr').next('tr').find('.mytext).text()));

但是,盡管有多個新行,但是要復制的文本不會將這些行顯示為新行,而是將其顯示為textrea中的一行。

如果我的文字是

Line 1

Line 2

Line 3 

它顯示為

Line1Line2Line3

可能您在表格單元格中輸入了以下內容:

Line 1<br/>
Line 2<br/>
Line 3<br/>

或在單獨的div中,或任何其他方法將其分割在單獨的行上。 但是textarea不能處理所有的html標簽,它只顯示純文本。 對於分隔線,它使用\\n\\r小節表示新的車道和回車。

嘗試將<br />替換為\\n\\r 但這僅在列中的行由<br />分隔時有用。

采用

$("#myText").html($.trim($(this).closest('tr').next('tr').find('.mytext').text()));

您使用的.text僅記錄其所說的內容:“ text”。 您需要使用.html來保持格式。

看來問題可能出在您的修整功能上。 您正在修剪所有換行符。 為了能夠修剪它並在末尾有一個換行符,您可以手動在其中放置該換行符:

$("#myText").text($.trim($(this).closest('tr').next('tr').find('.mytext').text()) + "\r\n");

在回顧了幾分鍾之后,我不得不同意使用jsfiddle進行故障排除會更容易。 目前尚不清楚到底發生了什么。 我們必須對您如何使用此代碼做出很多假設。 例如,我們假設

Line 1
Line 2

實際上是

Line 1<br>
Line 2<br>

實際上應該按照您期望的方式工作。

您的代碼看起來像這樣的Line 1<br/>Line 2<br/>Line 3<br/>嗎? 如果可以格式化html,請嘗試按以下格式格式化:

Line 1<br/>
Line 2<br/>
Line 3<br/>

如果無法格式化html,則必須使用html方法,並且#myText是textarea,則應使用val方法設置其值。

如果您無法格式化html,則您的代碼應如下所示:

$("#myText").val(
    $.trim(
        $(this).closest('tr').next('tr')
            .find('.mytext').html().replace('<br/>', '/r/n')
    )
);

替換部分更豐富,可以解決更一般的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM