回答編集履歴

3

セレクタが質問文と違いましたごめんなさい

2021/03/12 10:02

投稿

mai1210
mai1210

スコア272

test CHANGED
@@ -1,7 +1,35 @@
1
- `$("button").click`のタイミングで、まだ<button>が読み込まれていないからじゃないでしょうか。
1
+ `$(".explain").click`のタイミングで、まだ`.explain`が読み込まれていないからじゃないでしょうか。
2
2
 
3
3
 
4
4
 
5
5
  [JavaScriptを書く場所や読み込む場所はどこがいいのか?
6
6
 
7
7
  ](https://codeaid.jp/js-load/)
8
+
9
+
10
+
11
+ > headタグ内にJavaScriptを記述するとまだbodyタグ内の処理が行われていないので、Elementオブジェクトが処理できずにエラーとなる
12
+
13
+
14
+
15
+ > 画面が読み込まれたときに処理を実行するように記述すれば、head内にscriptを記述してもDOMのレンダリング後にその処理は実行できます。
16
+
17
+
18
+
19
+ 解決策としては、body内への処理(今回だとscript.js)をbodyの最後で読み込む、または「html読み込み後に処理」という記述をする、です。
20
+
21
+
22
+
23
+ m.ts10806さんが書いた通り、この中に書くとhtml読み込み後に処理してくれるので、<head>内で読み込んでいてもちゃんと動きます。
24
+
25
+ ```jQuery
26
+
27
+ $(function(){
28
+
29
+
30
+
31
+
32
+
33
+ })
34
+
35
+ ```

2

掲載リンクが回答とズレていたので1つ削除しました

2021/03/12 10:02

投稿

mai1210
mai1210

スコア272

test CHANGED
@@ -1,13 +1,7 @@
1
- `$("button").click(function(){`のタイミングで、まだ<button>が読み込まれていないからじゃないでしょうか。
1
+ `$("button").click`のタイミングで、まだ<button>が読み込まれていないからじゃないでしょうか。
2
2
 
3
3
 
4
4
 
5
5
  [JavaScriptを書く場所や読み込む場所はどこがいいのか?
6
6
 
7
7
  ](https://codeaid.jp/js-load/)
8
-
9
-
10
-
11
- [自作JSの読み込みはbodyの最後に書いたほうがいいのに、なんで外部ライブラリはheadにあるんでしょうか?
12
-
13
- ](https://qiita.com/sadahiroyoshi/items/1e17a149505da839bc5a)

1

修正

2021/03/12 08:58

投稿

mai1210
mai1210

スコア272

test CHANGED
@@ -1,4 +1,4 @@
1
- `$("button").click`のタイミングで、まだ<button>が読み込まれていないからじゃないでしょうか。
1
+ `$("button").click(function(){`のタイミングで、まだ<button>が読み込まれていないからじゃないでしょうか。
2
2
 
3
3
 
4
4