2

段落やスパンなどを含むdivからテキストを抽出し、テキストエリアに配置する必要があります。HTMLではなくテキストだけをロードする必要があります。

そのために、私は使用することができます:

loadtext = $('#mydiv').text();

ただし、改行は保持する必要があります。

そのために、私はやっています:

loadtext = $('#mydiv').text().replace(/<br>/gm, '\r\n');

しかし、そのテキストをテキストエリアにロードすると、すべてフラットで改行がないため、機能していないようです。私は何か間違ったことをしていますか?

4

2 に答える 2

5

$('#mydiv').text()要素を含むすべてのHTMLがすでに削除されている<br>ため、これは機能しません。要素のHTMLを変更し、すべての要素#mydivを置き換えてから、テキスト取得する必要があります。<br/>

$('#mydiv').find('br').each(function(){
    $(this).after("\n")
           .remove();
});
var loadtext = $("#mydiv").text();
于 2013-03-25T16:29:19.140 に答える
1

別の解決策は、ドキュメントに追加されない中間要素を使用することです。

var html = $('#mydiv').html(); // e.g. '<p>line 1</p><br><br><p>line 2</p>'
var text = $('<div>').html(html.replace(/<br\/?>/g, '\n')).text();
/* text =
"line 1

line 2" 
*/
$('#mytextarea').text(text);

これは<br>(HTML)と<br/>(XHTML)をサポートします。

于 2013-03-25T16:40:22.560 に答える