回答編集履歴

3

指摘があった通り、修正

2019/02/14 01:32

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -16,15 +16,21 @@
16
16
 
17
17
  ```javascript
18
18
 
19
+ // メモリ消費を防ぐために関数を先に定義
20
+
21
+ var clickFunc = function(){
22
+
23
+ this.innerHTML = '<img src="img/bom1.jpg">';
24
+
25
+ };
26
+
27
+
28
+
19
29
  // 配列の全要素にforEachでアクセス、DOMに対して、onclickイベントを付与
20
30
 
21
31
  bom.forEach(function(val){
22
32
 
23
- val.onclick = function(){
33
+ val.onclick = clickFunc;
24
-
25
- val.innerHTML = '<img src="img/bom1.jpg">';
26
-
27
- };
28
34
 
29
35
  });
30
36
 

2

指摘があった通り、forEach中で、要素に対して、その場で処理を行うよう修正

2019/02/14 01:32

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -16,21 +16,15 @@
16
16
 
17
17
  ```javascript
18
18
 
19
- // メモリ消費を防ぐために、当てる関数を先に定義
20
-
21
- var clickFunc = function(){
22
-
23
- this.innerHTML = '<img src="img/bom1.jpg">';
24
-
25
- }
26
-
27
-
28
-
29
19
  // 配列の全要素にforEachでアクセス、DOMに対して、onclickイベントを付与
30
20
 
31
21
  bom.forEach(function(val){
32
22
 
33
- val.onclick = clickFunc.call(val);
23
+ val.onclick = function(){
24
+
25
+ val.innerHTML = '<img src="img/bom1.jpg">';
26
+
27
+ };
34
28
 
35
29
  });
36
30
 

1

onclickの名称のタイプミスを修正

2019/02/14 01:29

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -1,6 +1,12 @@
1
1
  配列変数bomには、DOM要素が直接入っている状態なので、
2
2
 
3
3
  document.getElementById(bom)では、要素を取得できません。
4
+
5
+ document.getElementById()メソッドは、
6
+
7
+ <div id="hoge"></div>など、id属性に指定した文字列を引数に渡し、該当のDOMを返すというメソッドです。
8
+
9
+ (document.getElementById('hoge') というように使う)
4
10
 
5
11
 
6
12
 
@@ -24,7 +30,7 @@
24
30
 
25
31
  bom.forEach(function(val){
26
32
 
27
- val.onclic = clickFunc.call(val);
33
+ val.onclick = clickFunc.call(val);
28
34
 
29
35
  });
30
36