teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

試したことの追記

2021/03/03 11:44

投稿

bokupiroki
bokupiroki

スコア54

title CHANGED
File without changes
body CHANGED
@@ -51,4 +51,33 @@
51
51
  トリガーとなる要素に指定されているのがIDだとうまくいくのに、クラスだとうまくいかない状況です。
52
52
  document.getElementsByClassNameという書き方はよくないのでしょうか?
53
53
 
54
- 知恵を貸していただきたいです。
54
+ 知恵を貸していただきたいです。
55
+
56
+
57
+ ### 試したこと追記
58
+ > getElementsByClassNameは配列ライクなオブジェクトを返します。
59
+
60
+ という回答をほかの質問で見ました。(https://teratail.com/questions/87978)
61
+
62
+
63
+ ということは、[0]をどこかに書かなければいけないのでは?
64
+ と思いコードを下記のようにしましたが、何も起こりませんでした。
65
+
66
+ ```javascript
67
+ document.addEventListener('DOMContentLoaded', function() {
68
+ let elem = document.getElementsByClassName('elem')
69
+
70
+ //マウスポインターが乗ったタイミングで背景色を変更
71
+ elem[0].addEventListener('mouseover', function() {
72
+ this.style.backgroundColor = 'Yellow'
73
+ }, false)
74
+
75
+ //マウスポインターが外れたタイミングで背景色を戻す
76
+ elem[0].addEventListener('mouseout', function() {
77
+ this.style.backgroundColor = ''
78
+ }, false)
79
+ }, false)
80
+ ```
81
+ elem[0].addEventListener
82
+ もダメ見たいです。
83
+ [0]を書くべき場所が他にあるのでしょうか

1

誤字修正

2021/03/03 11:43

投稿

bokupiroki
bokupiroki

スコア54

title CHANGED
File without changes
body CHANGED
@@ -30,8 +30,7 @@
30
30
  ### 試したこと
31
31
  下記だとうまくいきます。
32
32
  ```html
33
- <div id="elem">マウスポインターを乗せると色が変わります</div>```
33
+ <div id="elem">マウスポインターを乗せると色が変わります</div>
34
-
35
34
  ```
36
35
  ```javascript
37
36