どもです。
jsのしょーもない話です。
PHPで改行コードを含むテキストをHTML上に出力、jsでそれを拾ってconfirm()に表示、ってやりたかった。
<p>このテキストを出力したい。\n改行もしたい。</p>
message = $("p").text();
alert(message);
alert(message);
↓
「このテキストを出力したい。\n改行もしたい。」
なして改行コードのまま出力されてしまうんじゃぁああ(T_T)
この疑問を解決してくれたのが、こちらのYahoo!知恵袋の投稿。
えーっと、つまるところ、改行コードは「出力するときに一定の文字列が作用する」ものではなく、「改行コードという存在」として保持され、HTMLとJSでは「改行コードという存在」を宣言するコードが異なっている、と???
合ってんのかな、この解釈で…。
この場合、解決法は①HTML上に出力する改行コードをHTML用の改行コードにすることと、②JSで取り込んだ改行コードに見える文字列を改めて改行コードに指定し直すことの二通りがあるそう。
①
<p>このテキストを出力したい。 改行もしたい。</p>
<p>このテキストを出力したい。 改行もしたい。</p>
②
message = $("p").text();
message = message.replace(/\\n/g, "\n");
alert(message);
message = $("p").text();
message = message.replace(/\\n/g, "\n");
alert(message);
なんか、業種によっては超常識っぽいところで躓いた感がすげー悔しい。