前提・実現したいこと
javascriptを使い、各trにある全てのtdに対して下記のaddEventListenerで指定した、td(this.td.textContent == 1)を選択するとtdにcalss('td_hidden')が追加されtdが非表示になる動作を適用させたいと思っています。
tdHidden(){
this.td.addEventListener('click',()=>{
if(this.td.textContent == 1){
this.td.classList.add('td_hidden');}})}
現段階では下記のように最後のtdのみ適用されています。
<tr> <td>3</td> <td>2</td> <td>3</td> <td>1</td>←この箇所のみclassが追加され非表示になる </tr>何方か、ご教授のほどよろしくお願い致します。
また、初めてteratailを使用する為、使い方等で規約違反に該当する箇所等がございましたら、ご指摘ください。
お手数おかけしますが、よろしくお願い致します。
### 該当のソースコード class Concentration{ constructor(){ this.table = document.querySelector('table'); this.tr = document.createElement('tr'); this.tr.classList.add('tr_box'); this.createRandom(); this.createRandom(); this.createRandom(); this.createRandom(); this.tdHidden(); } createRandom(){ this.td = document.createElement('td'); for(let i = 0; i < 5; i++){ this.td.textContent = Math.floor(Math.random()*i+1); } this.tr.appendChild(this.td); this.table.appendChild(this.tr); } tdHidden(){ this.td.addEventListener('click',()=>{ if(this.td.textContent == 1){ this.td.classList.add('td_hidden'); } }) } } const items = [ new Concentration(), new Concentration(), new Concentration(), new Concentration(), new Concentration(), ] ```javascript
回答2件
あなたの回答
tips
プレビュー