回答編集履歴

3

追記

2020/09/12 22:34

投稿

AkitoshiManabe
AkitoshiManabe

スコア5432

test CHANGED
@@ -60,6 +60,8 @@
60
60
 
61
61
 
62
62
 
63
+ // スプレッド構文 + forEach() の例
64
+
63
65
  [...document.querySelectorAll("figure.slide img[alt]")].forEach( (elm, idx) => {
64
66
 
65
67
  // elm == <img>, elm.parentNode == <figure>
@@ -86,6 +88,44 @@
86
88
 
87
89
  });
88
90
 
91
+ /*
92
+
93
+ // for 文での例
94
+
95
+ let figs = document.querySelectorAll("figure.slide img[alt]");
96
+
97
+ for ( let idx = 0; idx<figs.length; ++idx ) {
98
+
99
+ let elm = figs[idx];
100
+
101
+ // elm == <img>, elm.parentNode == <figure>
102
+
103
+ elm.parentNode.addEventListener("click", function(){
104
+
105
+
106
+
107
+ // <a> を文書に配備せずに動的クリックする荒業(悪い例かもしれません)
108
+
109
+ let a = document.createElement("a");
110
+
111
+ a.href = links[idx];
112
+
113
+ a.target = "_blank";
114
+
115
+ a..click();
116
+
117
+
118
+
119
+ })
120
+
121
+
122
+
123
+ };
124
+
125
+ */
126
+
127
+
128
+
89
129
  ```
90
130
 
91
131
  alt 属性が正しく入力されている3枚のスライドについて、リンクを開きます。

2

追記

2020/09/12 22:34

投稿

AkitoshiManabe
AkitoshiManabe

スコア5432

test CHANGED
@@ -96,4 +96,10 @@
96
96
 
97
97
 
98
98
 
99
- 短いコードですので、利用している内容をMDNで調べて何をやっているか読み解いてください。
99
+ 短いコードですので、利用している内容を MDN で調べて何をやっているか読み解いてください。
100
+
101
+
102
+
103
+ 追記)
104
+
105
+ JavaScriptが初めての場合、MDNの [JavaScript](https://developer.mozilla.org/ja/docs/Web/JavaScript) というページが書籍の目次に相当すると思います。

1

訂正

2020/09/12 04:36

投稿

AkitoshiManabe
AkitoshiManabe

スコア5432

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- スライド1つ分の該当する文書断片は以下のようになります
19
+ スライド1つ分に相当する文書断片は以下のようになります
20
20
 
21
21
  ```html
22
22
 
@@ -62,17 +62,23 @@
62
62
 
63
63
  [...document.querySelectorAll("figure.slide img[alt]")].forEach( (elm, idx) => {
64
64
 
65
+ // elm == <img>, elm.parentNode == <figure>
66
+
67
+ elm.parentNode.addEventListener("click", ()=>{
65
68
 
66
69
 
70
+
67
- elm.parentNode.addEventListener("click", ()=>{
71
+ // <a> を文書に配備せずに動的クリックする荒業(悪い例かもしれません)
68
72
 
69
73
  Object.assign( document.createElement("a"), {
70
74
 
71
75
  href:links[idx],
72
76
 
73
- target:"_blanc"
77
+ target:"_blank"
74
78
 
75
79
  }).click();
80
+
81
+
76
82
 
77
83
  })
78
84