解決したいこと
htmlのテーブルでリーグ戦を作成しています。現在は結果を記入したところです。
](a1931ae4a638dedb2807537bbe9dc758.png)
**結果を記入した際に、その人の勝ち数を表示したいです。**上図の「勝」の下にあるセル(初期値は0)に、その列の○の数を表示する実装になります。
現在のコードは以下になります。
html
1<div class="header"> 2 <h1 class="title"> 3 第7回しゅが研 リーグ表 4 </h1> 5</div> 6 7<div class="main"> 8 <div class="league-table"> 9 <table border="2" bordercolor="black" style="border-collapse: collapse"> 10 <tr class="top-tr"> 11 <th class="rank-title">順位</th> 12 <th class="member-title">メンバー</th> 13 <td class="opponent-name"></td> 14 <td class="opponent-name"></td> 15 <td class="opponent-name"></td> 16 <td class="opponent-name"></td> 17 <td class="opponent-name"></td> 18 <td class="opponent-name"></td> 19 <td class="opponent-name"></td> 20 <td class="opponent-name"></td> 21 <td class="opponent-name"></td> 22 <td class="opponent-name"></td> 23 <th class="win-count-title">勝</th> 24 <th class="lose-count-title">負</th> 25 <th class="sb-count-title">SB</th> 26 </tr> 27 <tr class="result-cells"> 28 <td class="rank"></td> 29 <td class="self-name"></td> 30 <td id="cell1-1"></td> 31 <td id="cell1-2"></td> 32 <td id="cell1-3"></td> 33 <td id="cell1-4"></td> 34 <td id="cell1-5"></td> 35 <td id="cell1-6"></td> 36 <td id="cell1-7"></td> 37 <td id="cell1-8"></td> 38 <td id="cell1-9"></td> 39 <td id="cell1-10"></td> 40 <td id="win-1">0</td> 41 <td id="lose-1">0</td> 42 <td id="sb-1">0</td> 43 </tr> 44 <tr class="result-cells"> 45 <td class="rank"></td> 46 <td class="self-name"></td> 47 <td id="cell2-1"></td> 48 <td id="cell2-2"></td> 49 <td id="cell2-3"></td> 50 <td id="cell2-4"></td> 51 <td id="cell2-5"></td> 52 <td id="cell2-6"></td> 53 <td id="cell2-7"></td> 54 <td id="cell2-8"></td> 55 <td id="cell2-9"></td> 56 <td id="cell2-10"></td> 57 <td id="win-2">0</td> 58 <td id="lose-2">0</td> 59 <td id="sb-2">0</td> 60 </tr> 61 62// 以下、列が続く 63 64 </div> 65</div>
js
1window.addEventListener('load', function(){ 2 3 const cell1_2 = document.getElementById("cell1-2") 4 const cell1_3 = document.getElementById("cell1-3") 5 const cell1_4 = document.getElementById("cell1-4") 6 const cell1_5 = document.getElementById("cell1-5") 7 const cell1_6 = document.getElementById("cell1-6") 8 const cell1_7 = document.getElementById("cell1-7") 9 const cell1_8 = document.getElementById("cell1-8") 10 const cell1_9 = document.getElementById("cell1-9") 11 const cell1_10 = document.getElementById("cell1-10") 12 const win_1 = document.getElementById("win-1") 13 const lose_1 = document.getElementById("lose-1") 14 15 const cell2_1 = document.getElementById("cell2-1") 16 const cell2_3 = document.getElementById("cell2-3") 17 const cell2_4 = document.getElementById("cell2-4") 18 const cell2_5 = document.getElementById("cell2-5") 19 const cell2_6 = document.getElementById("cell2-6") 20 const cell2_7 = document.getElementById("cell2-7") 21 const cell2_8 = document.getElementById("cell2-8") 22 const cell2_9 = document.getElementById("cell2-9") 23 const cell2_10 = document.getElementById("cell2-10") 24 const win_2 = document.getElementById("win-2") 25 const lose_2 = document.getElementById("lose-2") 26 27// 以下、同様に続く 28 29// セルをクリックすると結果記入ができる 30 31 cell1_2.addEventListener('click', function(){ 32 if (cell1_2.innerHTML == ""){ 33 cell1_2.innerHTML = "○"; 34 cell2_1.innerHTML = "●"; 35 } 36 else if (cell1_2.innerHTML == "○"){ 37 cell1_2.innerHTML = ""; 38 cell2_1.innerHTML = ""; 39 } 40 }) 41 cell1_3.addEventListener('click', function(){ 42 if (cell1_3.innerHTML == ""){ 43 cell1_3.innerHTML = "○"; 44 cell3_1.innerHTML = "●"; 45 } 46 else if (cell1_3.innerHTML == "○"){ 47 cell1_3.innerHTML = ""; 48 cell3_1.innerHTML = ""; 49 } 50 }) 51 52// 以下、同様に続く 53 54})
調べた内容
table内にある特定の文字列(出席)をカウントする方法
https://teratail.com/questions/39823
検証作業と結果
特定の列でなくても、テーブルの○を数えようと試しました。
js
1cell1_2.innerHTML = "○"; 2cell2_1.innerHTML = "●"; 3win_1.innerHTML = $( 'td:contains("○")' ).length;
しかし、反映されませんでした。特定のtrの特定の文字列を数える方法は他にありませんか?
回答1件
あなたの回答
tips
プレビュー