CDNを使ったjQueryの外部ファイル化をしたいのですが何故かjQueryが動作しません。
下記にコードを載せておくので何故動作しないのか教えていただきたいです。
よろしくお願いします。
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <link rel="stylesheet" href="css/stylesheet.css"> 7 <title>Document</title> 8 9 <!-- リセットcss --> 10 <link href="https://unpkg.com/sanitize.css" rel="stylesheet" /> 11 12 <!-- fontawesomeを使うためのコード --> 13 <link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet"> 14 15 <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 16 <link rel="stylesheet" href="jquery/stylesheet.js"> 17 18 19</head> 20<body> 21 <main> 22 <div> 23 <button class="fadeout">fadeout</button> 24 </div> 25 <div class="box">box</div> 26 </main> 27</body>
scss
1.box{ 2 width: 200px; 3 height: 200px; 4 background-color: #fcc; 5 padding: 10px; 6 }
javascript
1$('.fadeout').on('click',function(){ 2 $('.box').fadeToggle(); 3})
JavaScript のコードはどこにあるのですか?
javascriptのファイルの中にjqueryを記述しています。
> javascriptのファイルの中にjqueryを記述しています。
意味不明です。<link rel="stylesheet" href="jquery/stylesheet.js"> のこと? であれば、それでは動くはずはないです。
jqueryを外部ファイル化する時は通常jsファイルに記述していくのではないのでしょうか?
<link rel="stylesheet" href="jquery/stylesheet.js"> ではダメなことと、html 要素とスクリプトの順番の問題についてはすでに web11 さんが回答されてますよね。質問者さんもその回答に納得したのでは?
<link rel="stylesheet" href="jquery/stylesheet.js"> を正しく <script src="jquery/stylesheet.js"></script> と書き直してもダメなのはわかりますか?(パスは間違ってないという前提で) その時点で、ブラウザが stylesheet.js を読んでその中にある $('.fadeout').on('click',function(){ ... を解析しようとしても、$('.fadeout') の中の .fadeout クラスを付与された html 要素はまだは存在しないのでダメと言うことは分かりますか? その問題を解決するために $(function(){ ... }); で囲う意味は分かりますか?
回答2件
あなたの回答
tips
プレビュー