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ます。これには、実稼働 Web サイトで実行時に 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>

IE でも、タグで.text()指定したとおりのテキストが返されるようになりました。<pre>

于 2011-10-27T01:55:19.023 に答える