ど素人から毛を生やす。<延>

text()で改行コードを含むテキストを取得、alert()とかconfirm()とかtextareaとかに出力したかった話。

Web > javascript 2018年8月3日(最終更新:17日前)

どもです。
jsのしょーもない話です。

PHPで改行コードを含むテキストをHTML上に出力、jsでそれを拾ってconfirm()に表示、ってやりたかった。

<p>このテキストを出力したい。\n改行もしたい。</p>

message = $("p").text();
alert(message);

「このテキストを出力したい。\n改行もしたい。」

なして改行コードのまま出力されてしまうんじゃぁああ(T_T)

この疑問を解決してくれたのが、こちらのYahoo!知恵袋の投稿

えーっと、つまるところ、改行コードは「出力するときに一定の文字列が作用する」ものではなく、「改行コードという存在」として保持され、HTMLとJSでは「改行コードという存在」を宣言するコードが異なっている、と???

合ってんのかな、この解釈で…。

この場合、解決法は①HTML上に出力する改行コードをHTML用の改行コードにすることと、②JSで取り込んだ改行コードに見える文字列を改めて改行コードに指定し直すことの二通りがあるそう。


<p>このテキストを出力したい。&#10;改行もしたい。</p>

message = $("p").text();
message = message.replace(/\\n/g, "\n");
alert(message);

なんか、業種によっては超常識っぽいところで躓いた感がすげー悔しい。

この記事は役に立ちましたか?
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)
  • _(:3」∠)_ 面白かった (1)