前提・実現したいこと
プログラムの勉強を始めて1か月の初心者です。
おみくじアプリを作っています。
大吉、中吉、吉、凶の4種類があり、それぞれの発生回数をHTMLに記載したテーブル内に反映させたいです。
発生回数はJava scriptで取得しています。
発生している問題
Java scriptで計算した値を、HTMLのテーブルタグ内の任意の変数に代入するやり方がわからない
該当のソースコード
java
1 2(function(){ 3 'use strict' 4 var n_big=0, n_middle=0, n_bad=0, n_total=0; 5 // n_normal=0, 6 var btn = document.getElementById("btn"); 7 var table = document.getElementById('table'); 8 var n_normal = table.rows[1].cells[3]; 9 btn.addEventListener('click', function(){ 10 // var n = Math.floor(Math.random()*3); 11 var n = Math.random(); 12 console.log(n); 13 if(n>0.9){ 14 this.textContent='大吉'; 15 n_big += 1; 16 }else if(n>0.7){ 17 this.textContent='中吉'; 18 n_middle += 1; 19 // console.log(n_middle); 20 }else if(n>0.2){ 21 this.textContent='吉'; 22 n_normal += 1; 23 }else{ 24 this.textContent='凶'; 25 n_bad += 1; 26 } 27 n_total = n_big+n_middle+n_normal+n_bad; 28 // console.log(n_total); 29 30 }); 31 btn.addEventListener('mousedown', function(){ 32 this.className = 'pushed'; 33 }); 34 btn.addEventListener('mouseup', function(){ 35 this.className = ''; 36 37 }); 38 39 40})(); 41
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <link rel="stylesheet" href="CSS/styeles.css"> 6 <title>おみくじあぷり</title> 7</head> 8<body> 9 <div id="btn">?</div> 10 <script src="JS/main.js"></script> 11 <div id="table"></div> 12 13 <table class="table" border="1" width="300" > 14 <thead> 15 <tr> 16 <td></td> 17 <td>出現回数</td> 18 <td>出現率</td> 19 </tr> 20 </thead> 21 22 <tbody> 23 <tr> 24 <td>大吉</td> 25 <td>n_big</td> 26 <td>p_big</td> 27 </tr> 28 29 <tr> 30 <td>中吉</td> 31 <td>n_middle</td> 32 <td>p_middle</td> 33 </tr> 34 35 <tr> 36 <td>吉</td> 37 <td>n_normal</td> 38 <td>p_normal</td> 39 </tr> 40 41 <tr> 42 <td>凶</td> 43 <td>n_bad</td> 44 <td>p_bad</td> 45 </tr> 46 <tr> 47 <td>合計</td> 48 <td>n_total</td> 49 <td>p_total</td> 50 </tr> 51 52 </tbody> 53 </table> 54 55</body> 56</html> 57
css
1@charset "UTF-8"; 2 3#btn{ 4 margin: 50px auto 20px; 5 width: 200px; 6 height: 200px; 7 background: #FFFF00; 8 opacity: 0.7; 9 border-radius: 50%; 10 box-shadow: 0px 10px #888800; 11 text-align: center; 12 line-height: 200px; 13 font-size: 100px; 14 color: #800000; 15 cursor: pointer; 16 user-select: none; 17} 18 19#btn:hover{ 20 background: #FFFF66; 21 opacity: 1; 22} 23#btn.pushed{ 24 margin: 57px auto 20px; 25 box-shadow: 0px 3px #888800; 26 27} 28 29#table{ 30 text-align: center; 31} 32
試したこと
HTML内のテーブルタグをJSに読み込む
var table = document.getElementById('table');
さらに行列を指定して取得
var n_normal = table.rows[1].cells[3];
ここで実行エラーになっています。
そもそもこのやり方でできるか分かっていない状態です。
初めての質問で分かりづらいかもしれませんが、よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Google chrome 68.0.3440.106(Official Build) (64 ビット)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/07 12:17
2018/09/07 12:50