質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1840閲覧

jqueryのUncaught ReferenceError: jQuery is not definedが解消できない

nanashissss

総合スコア60

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2022/05/02 06:23

編集2022/05/02 16:54

Uncaught ReferenceError: jQuery is not definedが解消できません。
scriptに deferいれたのですが、即時関数の部分がUncaught ReferenceErrorのままです。
$(document).readyを入れているのですが、他解消ほうのレクチャーいただければ幸いです。

include/head.html <!--stylesheet--> <link href="./css/reset.css" rel="stylesheet" type="text/css"> <link href="./css/style.css" rel="stylesheet" type="text/css"> <link href="./css/page.css" rel="stylesheet" type="text/css"> <link href="./css/modaal.css" rel="stylesheet" type="text/css"> <!--javascript --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js" defer></script> <script type="text/javascript" src="./js/pagetop.js" defer></script> <script type="text/javascript" src="./js/utils.js" defer></script> <script type="text/javascript" src="./js/viewport.js" defer></script> <script type="text/javascript" src="./js/tel.js" defer></script> <!--[if lt IE 9]> <script type="text/javascript" src="./js/html5shiv.js"></script> <script src="//css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script> <script type="text/javascript" src="./js/selectivizr-min.js"></script> <![endif]--> <!--ファビコン--> <link rel="shortcut icon" href="./images/favicon.ico"> <link rel="apple-touch-icon-precomposed" href="./images/favicon.ico"> <!--Google Analytics --> <?php include_once "googleAnalytics.php"; ?>
index.html <?php include_once "include/head.html"; ?> <script type="text/javascript"> jQuery(document).ready(function($) { window.onload = function(){ var mv = new mainVisual(); mv.setPanel("images/index/kv01_pc.jpg",5000,"fade",2000,false); mv.setPanel("images/index/kv02_pc.jpg",5000,"fade",2000,false); mv.setPanel("images/index/kv03_pc.jpg",5000,"fade",2000,false); mv.setPanel("images/index/kv04_pc.jpg",5000,"fade",2000,false); mv.setPanel("images/index/kv05_pc.jpg",5000,"fade",2000,false); mv.addVisual("key_visual",true); }; }); </script> //以下コンテンツ <script> $(document).ready(function(){ $('.notice dt').click(function(){ $(this).stop().toggleClass('active'); $(this).next('dd').stop().slideToggle(); }); }); </script> </body>

jqueryで以下のバージョンを新しくするとUncaught ReferenceErrorとでて動かなくなります。
バージョンに合わせ記述方法などことなるのでしょうか?
https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

jQuery本体の読み込みコードからdeferを外してください(他のライブラリコードも、下の<script>から呼ぶならdeferは不適当です)。

html

1<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

直接<script>で書いたもののほうが先に実行されてしまうので、jQuery本体が読み込まれないタイミングで実行されることとなりえます。

投稿2022/05/02 06:40

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2022/05/02 06:59

> defer外しましたが、動かないのですが以下CDNのバージョンを変更しました。 同じエラーが出続けているのですか?それとも違うエラーになっていませんか?
nanashissss

2022/05/02 07:22

先ほどまでエラーでてたものは消えました。 詳しくないのですが、jqueryのバージョンを上げたのが原因みたいです 古いバージョンで動いていたのが新しいバージョンでは動かなくなる事ってありますでしょうか?
nanashissss

2022/05/02 07:54

承知いたしました。 ありがとうございます。
guest

0

jQuery を defer しているのですから、defer していない<script> では jQuery は使えません。jQuery を使わないように書き換えましょう。

js

1jQuery(document).ready(function($) { 2 window.onload = function(){

ここは単純に window.onload = function() { でよいでしょう。

js

1 $(document).ready(function(){

これは document.addEventListener('DOMContentLoaded', function() { などにします。引数のコールバック内では jQuery を使うことができます。


または、<script>の中身を別URLにして、その<script>defer しましょう。

投稿2022/05/02 06:53

編集2022/05/02 06:54
int32_t

総合スコア20659

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nanashissss

2022/05/02 07:23

ありがとうございます。 jqueryのバージョン上げる用に指示されたらこちらで対処してみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問