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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

890閲覧

配列から取り出した要素ごとに枠線をつけたい

yumiii88

総合スコア2

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/06/14 13:16

プログラミングをはじめて2か月弱の者です。
現在websocketを使用してチャットアプリをつくっているのですが
表示に関してうまくいっていません。

前提・実現したいこと

データベースからArray型で取得した要素に
要素ごとに枠線で囲って表示したいと考えています。

身近なものでたとえると、LINEのようなイメージです。

発生している問題・エラーメッセージ

メッセージごとではなくすべてのメッセージがひとつの枠線で囲われてしまっています。

実現したいもののイメージ
__________         
|こんにちは   |          
__________                    
__________
|こんばんは   |
__________

現時点のもの
__________         
|こんにちは   | 
|こんばんは   |
__________

該当のソースコード

html

1       ~略~ 2 3 4 function connect() { 5 var socket = new SockJS('chatPage'); // WebSocketに接続 6 stompClient = Stomp.over(socket); 7 stompClient.connect({}, function (frame) { 8// setConnected(true); 9 console.log('Connected: ' + frame); 10 stompClient.subscribe('/topic/greetings', function (greeting) { // 挨拶の応答(/topic/greetings)を購読する 11 let messages=(JSON.parse(greeting.body).content); 12 for(let message of messages){ 13 showGreeting(message); 14 } 15 }); 16 }); 17 } 18 19 function sendMessage() { 20 var message = document.getElementById('message').value; 21 stompClient.send("/app/chatPage", {}, JSON.stringify({'message': message})); // メッセージを送信 22 } 23 24 function showGreeting(message) { 25 var response = document.getElementById('response'); 26 var p = document.createElement('p'); 27 p.style.wordWrap = 'break-word'; 28 p.appendChild(document.createTextNode(message)); 29 response.appendChild(p); 30 response.style.display = "block"; 31 } 32 33 </script> 34</head> 35 36 37<body onload="connect();"> 38 39 40 <header> 41 42 </header> 43 44 <div class="chatspace" > 45 <p id="response"></p> 46 </div> 47 48 <footer> 49 <table> 50 <tr> 51 <form > 52 <td><textarea id="message" type="text" maxlength="90"></textarea></td> 53 <td><button id="send" onclick="sendMessage();">送信</button></td> 54 </form> 55 </tr> 56 </table> 57 </footer> 58 </body> 59</html>

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

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

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

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

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

guest

回答1

0

どうやって枠を付けているのかが不明ですが、もしかしてCSSでp#responseborderで線を描いていたりするのでしょうか。
showGreeting

JavaScript

1 p.style.border = '1px solid green;';

とかすれば、メッセージごとにborderが付くと思います。

投稿2021/06/14 13:34

itagagaki

総合スコア8402

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

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

yumiii88

2021/06/14 13:44

現時点ではCSSでご指摘のようなかきかたをしています。 ありがとうございます!ためしてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問