見出し画像

楽しくプログラミング! HTML生成!- 2

for 文で連続的にタグを作ってボタンを作ってみます。

HTMLを書かずしJavaScriptの

document.createElement()

を作ってボタンを作ります。

1から9までの数字が入ったボタンを作ります。for 文で繰り返しボタンを作っていきます。for文を2重にしています。

  for(let i=0; i<3; i++){
 
      for(let j=0; j<3; j++){

         const button = document.createElement("button");
     
          button.innerHTML = i * 3 + j + 1;
        
          button.onclick = () => {
           
             console.log(`ボタン${button.innerHTML}が押されました!`);

          }
      }
   } 

これで表示が確認できたらこれを3つ並んだら改行して3X3のボタンとします。方法は<div>を3つ並んだら表示させ改行した感じにします。

 for(let i=0; i<3; i++){

        const div = document.createElement("div");
      
      for(let j=0; j<3; j++){

        const button = document.createElement("button");
     
        button.innerHTML = i * 3 + j + 1;
        
        button.onclick = () => {

          console.log(`ボタン${button.innerHTML}が押されました!`);
          }
  
      }

      document.body.appendChild(div);
      
    } 

これで3X3のボタンができました。

これをCSSを指定できる"style"使いを見た目を変えていきたいと思います。

ボタンには

  document.body.appendChild(button);
        button.style.fontSize = "20px"
        button.style.fontFamily = "sans-serif"
        button.style.padding = "20px"
        button.style.margin = "5px"


そして、ボタンの後にも文字を入れて、CSSを指定してみます。

const div2 = document.createElement("div");

    div2.innerHTML = '<p>CreateElementで作りました</p> <p>スタイルも変更しました</p>';
    
    document.body.appendChild(div2);

    div2.style.fontSize = "20px"
    div2.style.fontFamily = "sans-serif"


これで

こんな感じにボタンの大きさも間隔も調整できます。


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>CreateElement</title>
</head>
<body>
  <script>

    for(let i=0; i<3; i++){

      const div = document.createElement("div");
      
   
      for(let j=0; j<3; j++){

        const button = document.createElement("button");
     
        button.innerHTML = i * 3 + j + 1;
        
        button.onclick = () => {

          console.log(`ボタン${button.innerHTML}が押されました!`);
          }

        document.body.appendChild(button);
        button.style.fontSize = "20px"
        button.style.fontFamily = "sans-serif"
        button.style.padding = "20px"
        button.style.margin = "5px"


      }

      document.body.appendChild(div);
         
    } 

    const div2 = document.createElement("div");

    div2.innerHTML = '<p>CreateElementで作りました</p> <p>スタイルも変更しました</p>';
    
    document.body.appendChild(div2);

    div2.style.fontSize = "20px"
    div2.style.fontFamily = "sans-serif"

  </script>
</body>
</html>

この記事が気に入ったらサポートをしてみませんか?