2017-08-28 13 views
1

余白を33pxとして残して動的P要素を作成しようとしましたが、動作しません。しかし、左が使用されていない(マージン)とき、静的なhtml p要素でも同じことがうまくいきます。それはなぜそうですか?私はIE11とChromeバージョン60.0.3112.113を試しました。DOM要素の余白が残っていません

<!DOCTYPE html> 
<html> 
<head> 
    <title>Chat</title> 
    <meta charset="utf-8"> 
</head> 
<body> 
    <div id="screenv" style="border:1px solid black;margin: 5px;padding: 5px;width: 300px;height: 300px;"></div></br> 
    <input id="tb" type="text" style="border:1px solid black;margin: 5px;padding: 5px;width: 300px;" placeholder="Enter your text"></input> 
    <button onclick="submit()">Submit</button> 
    <p style="margin-left:33px;">hello</p>//css works fine 
    <script type="text/javascript"> 

     var you="",screen="",msg="",c_time="",val="",d,h,m,line; 
     function submit() { 

     val=document.getElementById("tb").value; 
     screen=document.getElementById('screenv'); 

     you=document.createElement("div"); 
     you.innerHTML="You:"; 

     screen.appendChild(you); 


     c_time=document.createElement("p"); 
     d = new Date(); 
     h = d.getHours(); 
     m = d.getMinutes(); 
     c_time.innerHTML = h+":"+m; 
     c_time.style.display="inline"; 
     c_time.style.color="grey"; 

     msg=document.createElement("p"); 
     msg.innerHTML=val; 
     msg.style.margin-left="33px";//not working 


     line=document.createElement("br"); 

     you.appendChild(c_time); 
     you.appendChild(line); 
     you.appendChild(msg); 
     document.getElementById("tb").value=""; 
    } 


    </script> 

</body> 
</html> 
+5

「margin-left」を「marginLeft」に変更します。 – Phil

+2

_なぜそうですか?_ - 構文の基礎を学ぶのを嫌う人は誰も知っているので、「 - 」は減算演算子です – CBroe

答えて

3

msg.style.margin-left="33px";は、パーサーによってas subtract operatorと解釈されます。したがって、ダッシュ付きのすべてのCSSプロパティは、JavaScript内のcamelCaseに書き込まれます。

関連する問題