3

考虑以下 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 的 div 元素myDiv。它包含一些文本,类似于在我的生产网站运行时从 SQL 数据库中检索到的文本。

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

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

4

2 回答 2

0

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

但是,如果您的客户端不符合您的要求,请将<br>s 替换为换行符。

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

于 2011-08-02T14:45:18.407 回答
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 中也是如此。

于 2011-10-27T01:55:19.023 回答