質問編集履歴

1

エラーの詳細

2018/11/20 09:33

投稿

ryoo_chksl
ryoo_chksl

スコア69

test CHANGED
File without changes
test CHANGED
@@ -19,3 +19,75 @@
19
19
  ```
20
20
 
21
21
  aaa.jgpを押すとコンソールに1が、bbb.jgpを押すと2が、ccc.jgpを押すと3が出力されるようにしたいです。しかし、画像を押してもコンソールには「Uncaught ReferenceError: number is not defined at HTMLImageElement.onclick」と表示されてしまいます。どうすればいいでしょうか。
22
+
23
+
24
+
25
+ ーーー<追記>ーーー
26
+
27
+ 上では省略して書いていましたが、もう少し正確にコードを書きます。
28
+
29
+ ```html
30
+
31
+ <div class="main"></div>
32
+
33
+ ```
34
+
35
+ ```javascript
36
+
37
+ var main = document.getElementsByClassName('main');
38
+
39
+
40
+
41
+ function imgAppear() {
42
+
43
+ for(var i = 0; i < 6; i++) {
44
+
45
+ var img = document.createElement('img');
46
+
47
+
48
+
49
+ img.src = 'image' + i + '.jpg';
50
+
51
+ img.setAttribute('onclick', 'number(' + i + ');');
52
+
53
+ img.classList.add('img');
54
+
55
+ main[0].appendChild(img);
56
+
57
+ }
58
+
59
+ }
60
+
61
+
62
+
63
+ function number(num) {
64
+
65
+ console.log(num);
66
+
67
+ }
68
+
69
+
70
+
71
+ imgAppear();
72
+
73
+ ```
74
+
75
+ このJavaScriptの部分を…
76
+
77
+ ```javascript
78
+
79
+ (function() {
80
+
81
+ 'use strict';
82
+
83
+
84
+
85
+
86
+
87
+ })();
88
+
89
+ ```
90
+
91
+ これで囲むとエラーが表示されるのが分かりました。これで囲まなければ、画像を押したときにちゃんと数字が表示されます。
92
+
93
+ なぜこれで囲むとエラーが出るのでしょうか?