回答編集履歴
3
指摘があった通り、修正
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 =
|
33
|
+
val.onclick = clickFunc;
|
24
|
-
|
25
|
-
val.innerHTML = '<img src="img/bom1.jpg">';
|
26
|
-
|
27
|
-
};
|
28
34
|
|
29
35
|
});
|
30
36
|
|
2
指摘があった通り、forEach中で、要素に対して、その場で処理を行うよう修正
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 = c
|
23
|
+
val.onclick = function(){
|
24
|
+
|
25
|
+
val.innerHTML = '<img src="img/bom1.jpg">';
|
26
|
+
|
27
|
+
};
|
34
28
|
|
35
29
|
});
|
36
30
|
|
1
onclickの名称のタイプミスを修正
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
|
|