質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

3回答

906閲覧

$.text(xxx)で改行を出力したい

enoeno

総合スコア20

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2020/06/28 04:08

編集2020/06/28 04:16

Ajaxのtext(xxx)を使ってJavascriptからhtmlの文言を書き換える際、改行を含めるにはどうすれば良いでしょうか?

html

1<button type="button" onclick="send()">送信</button> 2<div id="result">応答域</div>

js

1$("#result").text("1行目\n2行目");

画面はこうなってほしい

 応答域 ↓ 1行目 2行目

実際はこうなってしまう

 応答域 ↓ 1行目 2行目

textを使って改行を入れ込むにはどうしたら良いかという観点なので、その観点でご回答いただけると助かります。textでは改行を入れ込む方法がない、という回答でもかまいません。textによる改行に結論が持てれば助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Daregada

2020/06/28 04:12 編集

ついやりがちですが、質問中のJavaScriptコード中で、「text」が「test」と間違って書かれています。
enoeno

2020/06/28 04:18

失礼しました。質問をtextに直しました。(testだったから改行できなかったわけではない)
Daregada

2020/06/28 04:37

タイトルやその前の文章から予想はできますが、本当に「test」と書いてないのかは、あなたにしか分かりません。質問者にはあなたが書いたものしか読めません。
guest

回答3

0

javascript

1<script> 2$(function(){ 3 $('#btn').on('click',function(){ 4 $("#result").html("1行目<br>2行目"); 5 }); 6}); 7</script> 8<button type="button" id="btn">送信</button> 9<div id="result">応答域</div>

追記

どうしてもというならこう

javascript

1<script> 2$(function(){ 3 $('#btn').on('click',function(){ 4 $("#result").text("1行目\n2行目"); 5 }); 6}); 7</script> 8<button type="button" id="btn">送信</button> 9<div id="result" style="white-space:pre">応答域</div>

投稿2020/06/28 04:14

編集2020/06/28 04:46
yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/06/28 04:15

brを改行につかうのは厳密には正しくないですが、とりあえず上記でいけるでしょう。 ちゃんとやるなら1行目2行目をそれぞれ段落にするなど工夫が必要です
enoeno

2020/06/28 04:19

.htmlなら<br>で出来るところは確認していました。 .textならという観点ではいかがでしょうか?
yambejp

2020/06/28 04:47

追記しておきました style属性をいじれないならjQuery側でcss()で指定しても構いません
enoeno

2020/06/28 04:58

ありがとうございます。white-spaceを勉強してきました! htmlを更新できない(preにできない)場合、CSSを追加してやる方法もあるとわかりました。 これならpでもdivでも改行は思いのままにできそうです。 色々と勉強になります!!
guest

0

html()にして<br />

br以外にも方法はありますがtext()だとhtmlはエスケープされるので、実質的に不可です。

投稿2020/06/28 04:12

編集2020/06/28 04:15
m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

enoeno

2020/06/28 04:20

textだと改行は不可能という結論でしょうか。
m.ts10806

2020/06/28 04:23

「ブラウザで見たときの改行」は結局HTMLを使わなければなりません。 HTMLが実質無効化されるtext()では本要件は満たせません
enoeno

2020/06/28 04:26

ありがとうございました。 リンク先もザザッと読んで.textでは改行できないことに納得しました。
m.ts10806

2020/06/28 04:29

仕様のことなので提示したような公式に準じるドキュメントを確認してください(できれば英語の公式)。
enoeno

2020/06/28 04:45

すいません、別な回答にて書き換えのhtmlタグをpreにすることで.textの中身の改行(\n)が認識できるとの提示をいただき、実現することができましたので、そちらをベストアンサーにさせてください。
guest

0

ベストアンサー

HTML上で改行は半角空白に置き換わるので、改行コードを<br>タグと置き換える処理を追加しましょう。
※ この方法の場合 .text('内容')ではなく .html('内容') とする必要があります。

後は<pre>タグに代入するとか。

<pre>: 整形済みテキスト要素 - HTML: HyperText Markup Language | MDN】
https://developer.mozilla.org/ja/docs/Web/HTML/Element/pre

投稿2020/06/28 04:10

編集2020/06/28 04:13
kei344

総合スコア69606

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

enoeno

2020/06/28 04:21

<pre>を使う場合も.htmlですね?
kei344

2020/06/28 04:22

手元に環境があるなら試しましょう。
enoeno

2020/06/28 04:24

.textではうまくいかないですね。 質問は.textならという観点なので.htmlで色々出来ることは確認済みでした。
enoeno

2020/06/28 04:42

私の質問の例はdivのところの書き換えでしたが、divをpreにするという意図だったんですね。 私の解釈が悪くそのようにやるという意味だとは思いませんでした。 .text()の中にpreを埋め込んで試してしまいました。 大変失礼しました。 これなら.textで改行を扱えますね。質問の意図に一番合いそうです。 (書き換え場所のhtmlタグにこだわりはない) ベストアンサーを付け替えておきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問