0

文字列sには、スペース、タブ、CR および LF が含まれます。alert()フォーマットを正しくレンダリングできますが、$("#mydiv").text(s)CR と LF が失われました。フォーマットを正しくレンダリングできることを願っ$("#mydiv").text(s)ています。どうすればよいですか?

<!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="Js/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("#Button1").bind("click", function () {
                alert(s);
                $("#mydiv").text(s);
            });
        });
    </script>
</head>
<body>
    <p>
        <input id="Button1" type="button" value="button" /></p>
    <div id="mydiv">
    </div>
</body>
</html>
4

2 に答える 2

3

#mydivこれには、少し CSS スタイルを与えることができます。

#mydiv { white-space: pre; }

問題は、jQuery.text()メソッドが HTML テキストを設定するだけで、HTML 要素がすべての連続する空白文字を 1 つのスペースに結合し、ブロック要素の場合は最初と最後を削除することです (<pre>顕著な例外があります)。この CSS 宣言は、<pre>この状況で のように動作するように div に指示します。

于 2012-04-12T07:18:24.313 に答える
-1

.text(s) の代わりに .html(s) を使用してみてください

于 2012-04-12T07:32:33.447 に答える