如何在jQuery中将换行符从HTML div复制到textarea?

时间:2011-08-02 14:42:38

标签: javascript jquery html textarea text-formatting

考虑以下HTML页面片段:

<div id='myDiv'>
    Line 1.<br />
    Line 2<br />
    These are &ltspecial&gt; characters &amp; must be escaped !@@&gt;&lt;&gt;
</div>
<input type='button' value='click' id='myButton' />
<textarea id='myTextArea'></textarea>

<script>
    $(document).ready(function () {
        $('#myButton').click(function () {
            var text = $('#myDiv').text();
            $('#myTextArea').val(text);
        });
    });
</script>

首先,有一个id为myDiv的div元素。它包含一些类似于我的生产网站中运行时可能从SQL数据库中检索到的文本。

接下来,有一个按钮和一个textarea。我希望单击按钮时myDiv中的文本出现在textarea中。

但是,使用我提供的代码,会删除换行符。考虑到逃避特殊字符是绝对不可协商的,我该怎么办呢?

2 个答案:

答案 0 :(得分:0)

您的代码在Firefox和Chrome中都非常适合我:http://jsfiddle.net/jYjRc/

但是,如果您的客户端无法执行您想要的操作,请将<br>替换为换行符。

编辑:在IE7中测试并且代码中断。所以我用我的建议更新了小提琴:http://jsfiddle.net/jYjRc/1/

答案 1 :(得分:0)

你的HTML是这样的:

<div id='myDiv'><pre>
Line 1.
Line 2
These are &ltspecial&gt; characters &amp; must be escaped !@@&gt;&lt;&gt;
</pre></div>

现在.text()将完全按照您在<pre>标记中指定的方式返回文字,即使在IE中也是如此。

相关问题