2017-06-08 19 views
0

最近、HTMLとJavascriptでチャットルームを実装しました。コンテナにdivを追加する方法

私は、「送信」ボタンをクリックすると、「コンテナチャット」へのメッセージ(クラス=「チャット自己」)を追加する方法がわかりません。私の考えは、このようなものです

<div id = "chat-container" class="chat-container"> 
     <div class="chat friend"> 
      <div class="user-photo"><img src="images/james.jpg"></div> 
      <p class="chat-message">How are you?</p>     
     </div> 
     <div class="chat self"> 
      <div class="user-photo"><img src="images/curry.jpg"></div> 
      <p class="chat-message">Fine, thx!</p>    
     </div> 
     <div class="chat friend"> 
      <div class="user-photo"><img src="images/james.jpg"></div> 
      <p class="chat-message">How old are you?</p>    
     </div> 
    </div> 

    <div class="chat-form"> 
     <textarea id="myTextarea" placeholder="Type your message"></textarea> 
     <button onclick="sendMes()">Send</button> 
    </div> 

:ここ

がコードである

<script> 
    function sendMes() { 
     var x = document.getElementById("myTextarea").value; 
     document.getElementById("demo").innerHTML = x; 
     vara data = 
     '<div class="chat self"> 
      <div class="user-photo"><img src="images/curry.jpg"></d-wiv> 
      <p class="chat-message">Fine, thx!</p>    
     </div>'; 
     data.chat-message = x; 
     document.getElementById("chat-container").appendChild(data); 

    } 
</script> 

私は、HTML DOMに関する記事をたくさん読んだが、彼らは唯一の変更方法を教えてください。 innerHTMLの...

私は、クラス=「チャット自己」とのdivオブジェクトを作成する方法を知っている、とテキストエリアの値にオブジェクトのチャット・メッセージを設定しないでください。

ありがとうございます!代わりに、あなたは、単にそれに文字列を追加している#chat-containerにDOM要素を追加する

+0

のような? 'id =" chat-c​​ontainer "'? – Webinion

+0

またあなたの変数の宣言が正しくないようです、さて、ちょうどコードスタイル – walkcc

+1

を問題ではないことを、 'VARAデータは=' – Webinion

答えて

2

たぶん

あなたは可能性がありW3School

sendMes()のサンプル実装をチェックアウトする必要があり(とあまりにもことは、不正な形式のようです) IDにスペースがある理由

function sendMes() { 
    var message = document.getElementById("myTextarea").value // maybe try to sanitize it if you are sending it to server 

    var messageEl = document.createElement('p') 
    messageEl.innerHtml = message; 
    messageel.className = "chat-message" 

    var userImage = new Image() 
    userImage.src = "images/curry.jpg" 
    var imageContainer = document.createElement("div") 
    imageContainer.appendChild(userImage) 
    imageContainer.className = "user-photo" 

    var container = document.createElement("div") 
    container.appendChild(imageContainer) 
    container.appendChild(messageEl) 
    container.className = "chat self" 

    document.getElementById("chat-container").appendChild(container) 

} 
+0

W3Schoolsのは、古い情報を持っています。 [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference)に行くのが最善です。 – doutriforce

+0

@doutriforce agree! createElementなどの基本的なトピックについては、私はW3Schoolsの例が良いと思います.MDNは非常に詳細です(また、高度でもあります)。 –

+0

私もあなたに同意します。しかし、彼は常にそれに頼るべきではありません。そしておそらく彼はMDNを知らなかったので、私はそれを共有しているので、必要に応じて信頼できる情報源を得ることができます。 – doutriforce

関連する問題