你如何用jquery和linebreaks填充textarea?

时间:2009-08-07 00:24:19

标签: jquery

我知道如何填充textarea,但是如何填充它以保持换行符?

e.g

HTML         

    <div id="previous_purchases">blah blah blah<br />blah blah</div>

jquery的

    $('#previous_purchases').click(function(){

        var what = $(this).text();

        $('#purchased').text(what);


});

所有的blah只是在一行上的textarea中飙升。有什么想法吗?

编辑:我一直在尝试使用html()而不是文本,但它会产生相同的结果。我想通过使用html()我会得到一个带有'
'的文本区域,但事实并非如此......它只是在一条线上。

即使使用此代码:

    $('#previous_purchases').click(function(){

        var what = $(this).html();

        $('#purchased').html(what);


});

3 个答案:

答案 0 :(得分:5)

尝试做:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title></title>
        <script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(
              function() {
                 $('#previous_purchases').click(function() {
                 var what = $(this).html().replace(/<br>/, '\n');
                 $('#purchased').html(what);
            });
        });
        </script>
    </head>
    <body>
    <div id="previous_purchases">blah blah blah<br />blah blah</div>
    <textarea id="purchased" cols="25" rows="10"></textarea>
    </body>
    </html>

请参阅Attributes/html

答案 1 :(得分:2)

您可以使用html()和路径格式的文本,而不是调用text()函数。

$('#previous_purchases').click(function(){

                var what = $(this).text();

                $('#purchased').html(what);


});

答案 2 :(得分:2)

text()会自动删除html。所以基本上你会想要使用html()而不是文本,并用\ n

替换