2012-04-12 11 views
0

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

<!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> 
+0

これは[ ''

答えて

3

あなたはこのために#mydivにCSSスタイルのビットを与えることができます:

#mydiv { white-space: pre; } 

問題は、jQueryの.text()方法は単なるHTMLテキストを設定し、HTML要素は、すべての連続したホワイトスペースに参加するということであり、文字を1つのスペースに追加し、ブロック要素であれば最初と最後を削除します(<pre>の例外があります)。このCSS宣言は、この状況で<pre>のように動作するようにdivに指示します。

+1

おそらく、 "連続する空白はすべて1つの空白として扱われます"は、 "空白を尊重しない"よりも優れています。 –

+0

@AndrewMarshallうん、ありがとう。それを修正しました。 – Boldewyn

-1

代わりの.textの.htmlの(単数または複数)を使用しようとする(S)

+2

それは何も変わることはありません。 –

関連する問題