前提・実現したいこと
JavaScript の addEventListener と classList を使って、クリックされた要素にクラスが追加されるようにしたいのですが…。
発生している問題・エラーメッセージ
クリックしても、そのクラスに指定したスタイルが適用されません。
デベロッパーツールで確認すると、クラスは要素に追加されているのですが、スタイルのところに打消し線が引かれています。
該当のソースコード
HTML
1<div id="btn">button</div>
css
1#btn { 2 background: #cfcece; 3 font-size: 18px; 4 width: 120px; 5 height: 40px; 6 line-height: 40px; 7 text-align: center; 8 cursor: pointer; 9} 10 11.change { 12 background: #d6a2a2; 13}
JavaScript
1'use strict'; 2{ 3 4const btn = document.getElementById('btn'); 5 6btn.addEventListener ('click', () => { 7 btn.classList.add('change'); 8}); 9 10}
試したこと
今までに書いたコードや学習サイトなどにあるよく似た実装の見本コードをコピーして使ってみたところ、classList に関する処理は問題なく動作したのですが…。
イベントリスナーの中に「btn.textContent = 'hello!';」の処理を入れてみたところ、この処理は問題なく実行されました。ということは、イベント設定の書き方はこれで問題ないということだと思うのですが。
今回のこのコードの中で、どこに間違いがあるのでしょうか?
ご教示いただけると嬉しく思います。
補足情報(FW/ツールのバージョンなど)
ブラウザは Chrome の最新版です。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/14 23:19