)だと動作しないんですよね。class名が複数ある時に取得した時の注意点JavaScriptでclass名をした時にaddEventListenerを使う方法まず原因を紹介する前に、class名を使用した時に使う方法から解説します。document.getElementsByClassName('open');console.log(open[0]);このように最後に[0]を指定してあげましょう。することによって、class名を取得することができます。そもそもjavascriptでclass名が取得できないんだけど!という人は「getElement(s)」の最後の「s」を抜かしている可能性があるのでチェックしてくださいね!JavaScriptでclass名を指定するとaddEventListenerが使えないわけ先ほどclass名に[0]をつけたら動作する理由について解説します。class名を指定するとaddEventListenerが使えない原因は「取得している値がidとclassで違う」からです。idとclassで値を取得するコードを見てみましょう。document.getElementById('open');こんな感じですよね。この問題で迷っている人は、ここまでは問題ないはずです。これを3パターンで「console.log」を使って表示してみましょう。</script>この結果がこれです。class名を指定した2行目とidを指定た3行目が同じ結果ですよね!なので[0]を使うと上手くいくわけです。なんか1行目がおかしいですよね。div#open.open]この結果がまさに「conosole.log(open);」です。なってしまうのかというと、「JavaScriptでクラス名を取得するとクラス名全部を取得してしまう」からです。先ほどの中身を詳しく見れるのでどうなっているのかというと、このようになっています。簡単にいうと「0」にopenのクラスが入っていますよということです。「#openはid」で「.openがクラス」ですね。[0]を最後につけることによって、値が取得できます。class名が複数ある時に取得した時の注意点こうなると、クラス名が複数あったらどうなるの?配列みたいに[2]とかなの?って思うかもしれませんがちょっと違うんですよ。</script>みたいなことがクラスだとできるわけですよね。この時にどういう結果が出てくるかというと、こんな感じで出力されます。最初の[0]以外は、undefinedになってしまいます。JavaScriptで複数のクラスを取得したい時も同じく[0]を指定する必要があります。いうちょっとした所がプログラミングって迷いますよね。パソニュー.ホームシェアメニューオススメTOPへ。