【週刊ドットインストール】 256timesにて新クラスをリリース、Vue.js/Nuxtのロードマップページを追加
正誤判定の際に li の代わりに e.target を指定してもうまくいくかなと思ったのですができませんでした。
li
e.target
function checkAnswer(li) { if (li.textContent === quizSet[currentNum].c[0]) { console.log('correct'); } else { console.log('wrong'); } } function setQuiz() { question.textContent = quizSet[currentNum].q; const shuffledChoices = shuffle([...quizSet[currentNum].c]); shuffledChoices.forEach(choice => { const li = document.createElement('li'); li.textContent = choice; li.addEventListener('click', () => { checkAnswer(li); }); choices.appendChild(li); }); }
上記のコードを下記のように変更してみました。
function checkAnswer(e) { if (e.target === quizSet[currentNum].c[0]) { console.log('correct'); } else { console.log('wrong'); } } function setQuiz() { question.textContent = quizSet[currentNum].q; const shuffledChoices = shuffle([...quizSet[currentNum].c]); shuffledChoices.forEach(choice => { const li = document.createElement('li'); li.textContent = choice; li.addEventListener('click', (e) => { checkAnswer(e); }); choices.appendChild(li); }); }
すると、すべての回答で wrong が返ってきてしまいました。 console.logで li 、 e.target それぞれの中身を見てみましたが、中身は同じようだったので、なぜ e.target だとうまく機能しないのかわかりません。 e.target を理解できるように練習したいので、この場合だとなぜダメだったのかご教授お願い致します。 それともやり方が間違っているだけで e.target を使用することも可能なのでしょうか。
wrong
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
正誤判定の際に
liの代わりにe.targetを指定してもうまくいくかなと思ったのですができませんでした。上記のコードを下記のように変更してみました。
すると、すべての回答で
wrongが返ってきてしまいました。console.logで
li、e.targetそれぞれの中身を見てみましたが、中身は同じようだったので、なぜe.targetだとうまく機能しないのかわかりません。e.targetを理解できるように練習したいので、この場合だとなぜダメだったのかご教授お願い致します。それともやり方が間違っているだけで
e.targetを使用することも可能なのでしょうか。