回答編集履歴
1
対処方2つ追加
test
CHANGED
@@ -6,5 +6,21 @@
|
|
6
6
|
|
7
7
|
JavaScriptコードは `<button class="task_submit" ` がパーズされてDOMができるより前に実行されるため、`document.getElementsByClassName('task_submit')` の結果は空になります。
|
8
8
|
|
9
|
+
対処方法はいろいろあります。
|
9
|
-
`<script>` を `<button class="task_submit">` より下に移動する
|
10
|
+
* `<script>` を `<button class="task_submit">` より下に移動する
|
11
|
+
* JavaScriptコード全体を `DOMContentLoaded` イベントリスナで囲む
|
12
|
+
* `<script>` に `defer` 属性を付ける
|
13
|
+
* `task_submit` ではなく `document` にイベントリスナを付ける
|
14
|
+
```js
|
15
|
+
documente.addEventListener('click', evt => {
|
16
|
+
if (evt.target.closest('.task_submit')) {
|
17
|
+
evt.preventDefault();
|
18
|
+
const taskValue = document.getElementsByClassName('task_value')[0];
|
19
|
+
const task = taskValue.value;
|
20
|
+
addTasks(task);
|
21
|
+
taskValue.value = '' ;
|
22
|
+
}
|
23
|
+
});
|
24
|
+
```
|
10
25
|
|
26
|
+
|