回答編集履歴
3
セレクタが質問文と違いましたごめんなさい
test
CHANGED
@@ -1,7 +1,35 @@
|
|
1
|
-
`$("
|
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つ削除しました
test
CHANGED
@@ -1,13 +1,7 @@
|
|
1
|
-
`$("button").click
|
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
修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
`$("button").click`のタイミングで、まだ<button>が読み込まれていないからじゃないでしょうか。
|
1
|
+
`$("button").click(function(){`のタイミングで、まだ<button>が読み込まれていないからじゃないでしょうか。
|
2
2
|
|
3
3
|
|
4
4
|
|