🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Brackets

Bracketsは、オープンソースで開発されているHTML/CSS/JavaScriptのコードエディターです。

Q&A

解決済

3回答

1040閲覧

書籍の教材データをDLし、使用しようとしたところ、原因不明のエラー:is not defined が発生して困っています

mitrasi

総合スコア49

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Brackets

Bracketsは、オープンソースで開発されているHTML/CSS/JavaScriptのコードエディターです。

0グッド

0クリップ

投稿2021/02/25 02:34

編集2021/02/25 07:25

前提・実現したいこと

『jQuary 最高の教科書』の教材データにおいて、進めていたところ4章の箇所でエラーが発生するトラブルがありました。
エラー発生ポイントはコード中に記載の通りになります。
このエラーの原因特定と、対処法を知りたいです。

ご教授よろしくお願いいたします。

発生している問題・エラーメッセージ

ERROR='$' is not defined.[no-undef]

該当コード

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <title>Chapter 04-01 &#xB7; jQuery 最高の教科書</title> 8 <link rel="stylesheet" href="./css/normalize.css"> 9 <link rel="stylesheet" href="./css/main.css"> 10 11 <script src="./js/vendor/jquery-1.10.2.min.js"></script> 12 <script src="./js/vendor/jquery-ui-1.10.3.custom.min.js"></script> 13 <script src="./js/main.js"></script> 14</head> 15 16<body> 17 18 <header class="page-header" role="banner"> 19 <h1>Creative jQuery Sample</h1> 20 </header> 21 22 <div class="page-main" role="main"> 23 24 <div id="buttons1"> 25 <h2>BUTTONS1</h2> 26 <div class="inner clearfix"> 27 <button>Albatross</button> 28 <button>Bishop</button> 29 <button>Canary</button> 30 <button>Duck</button> 31 <button>Eagle</button> 32 <button>Falcon</button> 33 <button>Goose</button> 34 <button>Hawk</button> 35 <button>Ibis<span class="bg"><span>Ibis</span></span></button> 36 <button>Jaeger<span class="bg"><span>Jaeger</span></span></button> 37 <button>Kingfisher<span class="bg"><span>Kingfisher</span></span></button> 38 <button>Lark<span class="bg"><span>Lark</span></span></button> 39 </div> 40 </div> 41 42 </div> 43 44 <footer class="page-footer" role="contentinfo"> 45 <small class="copyright">COPYRIGHT &copy; <a href="http://www.shiftbrain.co.jp" target="_blank">SHIFTBRAIN Inc.</a></small> 46 </footer> 47 48</body> 49 50</html> 51

該当のソースコード

js

1$(function () {/*エラー*/ 2 3 var duration = 300; 4 5 // buttons1 ---------------------------------------- 6 // buttons1 1行目 7 $('#buttons1 button:nth-child(-n+4)')/*エラー*/ 8 .on('mouseover', function () { 9 $(this).stop(true).animate({/*エラー*/ 10 backgroundColor: '#ae5e9b', 11 color: '#fff' 12 }, duration); 13 }) 14 .on('mouseout', function () { 15 $(this).stop(true).animate({/*エラー*/ 16 backgroundColor: '#fff', 17 color: '#ebc000' 18 }, duration); 19 }); 20 21 // buttons1 2行目 22 $('#buttons1 button:nth-child(n+5):nth-child(-n+8)')/*エラー*/ 23 .on('mouseover', function () { 24 $(this).stop(true).animate({/*エラー*/ 25 borderWidth: '12px', 26 color: '#ae5e9b' 27 }, duration, 'easeOutSine'); 28 }) 29 .on('mouseout', function () { 30 $(this).stop(true).animate({/*エラー*/ 31 borderWidth: '0px', 32 color: '#ebc000' 33 }, duration, 'easeOutSine'); 34 }); 35 36 // buttons1 3行目 37 $('#buttons1 button:nth-child(n+9)')/*エラー*/ 38 .on('mouseover', function () { 39 $(this).find('> span')/*エラー*/ 40 .stop(true).animate({ 41 width: '100%' 42 }, duration, 'easeOutQuad'); 43 }) 44 .on('mouseout', function () { 45 $(this).find('> span')/*エラー*/ 46 .stop(true).animate({ 47 width: '0%' 48 }, duration, 'easeOutQuad'); 49 }); 50 51}); 52

試したこと

①手書きで一から書き直す
→変化なし

②window.addEventListener('DOMContentLoaded', function(){
/** jQueryの処理 */
});を追加
参考サイト:https://pisuke-code.com/jquery-is-not-defined-solution/
→エラーは次のように変化 parsing error unexpected token

③データ自体がおかしいのか?
→以前に一度は正しく開けたし、ネット上でもデータ不良の情報は見受けられないためこの可能性は限りなく低いと思われる

参考サイト様

https://techacademy.jp/magazine/28188#:~:text=defined%E3%80%8D%E3%81%A8%E3%81%AF-,%E3%80%8C'%E5%A4%89%E6%95%B0%E5%90%8D%2F%E9%96%A2%E6%95%B0%E5%90%8D'%20is%20not%20defined%E3%80%8D,%E3%81%8C%E6%AD%A2%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%97%E3%81%BE%E3%81%84%E3%81%BE%E3%81%99%E3%80%82

https://ja.stackoverflow.com/questions/7641/is-not-defined%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AE%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95

https://qiita.com/komatsuuuuuna/items/97d9284b716c22782f72
『jQuary 最高の教科書』データダウンロード 公式様↓
https://www.sbcr.jp/support/11493/

※今回の該当箇所はこのデータ内の
sampledate > chapter4 > 01 > js > main.js

補足情報(FW/ツールのバージョンなど)

OS:Windows
エディタ:Brackets
ブラウザ:クローム

追加情報

イメージ説明

イメージ説明

##追記
本当に何度も恐れ入ります????質問者です。
コードを入れたいのでこちらから失礼します。
カンマがあることはわかったのですが、main.jsに「linting.collapsed":true」は見つけられないのでどこを見たら見つけられるのかお聞きしたかったのです。

最後がカンマであるというならば、私の脳内に浮かぶ「最後」は以下のように考えるのですが、どうにも違う気がします。

$('#buttons1 button:nth-child(n+9)')/*エラー*/ .on('mouseover', function () { $(this).find('> span')/*エラー*/ .stop(true).animate({ width: '100%' }, duration, 'easeOutQuad'); }) .on('mouseout', function () { $(this).find('> span')/*エラー*/ .stop(true).animate({ width: '0%' }, duration, 'easeOutQuad');←ここ? });←ここ? });←ここ?

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

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

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

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

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

int32_t

2021/02/25 02:37

HTMLはどのようになっていますか?
mitrasi

2021/02/25 02:41 編集

念のため掲示致しました。どうぞよろしくお願い致します。
m.ts10806

2021/02/25 02:43

jQueryが古いのは気になる。 リンクは正しくできてるんでしょうか。
int32_t

2021/02/25 02:43

もちろん大丈夫です。 HTMLファイルからの相対ディレクトリ js/vendor/ にファイル jquery-1.10.2.min.js はありますか?
Lhankor_Mhy

2021/02/25 02:48

「エラー発生ポイントはコード中に記載の通りになります」とのことですが、コメントにある全て部分で同時にエラーが発生するのですか? また、エラーの全文をご提示いただけますか?
mitrasi

2021/02/25 02:50

>m.ts10806様 2018年12月20日 初版第7刷発行 のテキストを使用しております。 >int32_t様 はい、 js/vendor/ にファイル jquery-1.10.2.min.jsはございます。
mitrasi

2021/02/25 02:56

>Lhankor_Mhy様 同時に発生しております。 追加情報でスクショを添付しましたので、ご確認よろしくお願い致します。 エラー文、訂正致しました。
int32_t

2021/02/25 02:57

では、ブラウザでHTMLファイルをロードすれば普通に動くのでは? 「実行はできるがエディタでエラーが出ているのを直したい」ということですか?
Lhankor_Mhy

2021/02/25 02:58

なるほど、ご質問中の「エラー」とは実行時エラーのことではなく、エディタでのエラー表示なのですね。 私は使っていないエディタなので、お役に立てなさそうです。
m.ts10806

2021/02/25 02:59

ブラウザで動くなら問題はないと言えます。
YT0014

2021/02/25 03:04

Bracketsタグを設定されることをお勧めします
mitrasi

2021/02/25 03:04

>int32_t様 確かにHTMLページでは動作はしておりますが、エラーは「どこかに間違いがある」というわけではないのですか? >Lhankor_Mhy様 エディタでのエラーとプログラム?自体があるのですね???? そもそもその概念を知らず、失礼致しました。ご回答ありがとうございます! >m.ts10806様 そうなのですね????問題がないならよかったです。ご回答ありがとうございます!
m.ts10806

2021/02/25 03:08

こちらでしているのは回答ではないです。質問への追記修正依頼。 確認事項のヒアリングにも使われています。
mitrasi

2021/02/25 04:03

>YT0014様 情報ありがとうございます!調べてみます >m.ts10806様 かしこまりました。失礼いたしました????
YT0014

2021/02/25 06:39

誤解されているようなので、言い直します。 この質問のタグは、現在、「JavaScript」、「jQuery」、「Windows 10」と設定されていますが、お使いのエディタBracketsに関する問題のようなので、「Brackets」タグを設定されるのをお勧めします。 この修正により、Bracketsエディタに詳しい方の目に留まりやすくなります。また、他のBracketsエディタ利用者が、同様の問題に遭遇した際に検索しやすくなります。
mitrasi

2021/02/25 07:14 編集

かしこまりました。 ご指摘ありがとうございます。 タグ追加致します。
guest

回答3

0

ベストアンサー

Google検索で「brackets $」まで入力すると、「brackets $ is not defined」が補完されます。
第1位はこれでした。どうやら頻出ネタのようです。

BracketsでjQueryを書くと「’$’ is not defined」エラー【対処方法】 | B-side Journal

投稿2021/02/25 03:13

Lhankor_Mhy

総合スコア36946

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

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

mitrasi

2021/02/25 04:07

ご回答ありがとうございます! エディタによって引き起こされるものとは知らず、そんな検索方法も有効だったのですね。勉強になります。 ご共有頂きました記事、拝見させて頂きました。 もう少し詳細にお聞きしたいのですが、今回のように入り組んでいる場合、どこが「最後」になるのでしょうか????? 一番外側の{}よりは内側だとはわかるのですが、、
Lhankor_Mhy

2021/02/25 04:09

「最後」とはなんのことですか?
mitrasi

2021/02/25 04:18

ご共有頂きました記事にあります「注意すべき点は、最終行の末尾に「,」コンマを付けてから追記する事。 」という点です。
mitrasi

2021/02/25 05:02 編集

申し訳ありません。。いくつか記事を見てみて、「JSON」の大体の概要や「array(配列)」「object(順序付けされない名前と値のペア)」だということはわかったのですが、私の理解力不足により、その"array"が例えばこのコードだとどれに当たるのかなどが全くつかめていません???? ただ、論点がずれるかと思いますので、JSONの件に関してはもう一度別途スレ立てしようと思います。 とりあえず、この件に関しては 原因はBracketsの厳しいエラーチェックによっておこるものであり、 対処法は上記のような例文を適所に設定すればよい、ということですね。
Lhankor_Mhy

2021/02/25 05:06

リンク先の元JSONには、array はありません。object の最後は、"linting.collapsed":true です。
mitrasi

2021/02/25 05:13

何度もすみません。それはどこを見たらわかるのですか?
Lhankor_Mhy

2021/02/25 05:21

「それ」とは、「最後の行」ですか? それとも「array」「object」ですか? 前者なら、カンマがあるかないかでわかります。 後者なら、[]で囲われているものがarray、{}で囲われているものがobjectです。 JSONはJavaScriptから派生したフォーマットなので、JavaScriptだと思って読めば問題なく読めるはずですよ。
mitrasi

2021/02/25 05:24

「object の最後は、"linting.collapsed":true 」とは、どこを見たらわかるのでしょうか?
Lhankor_Mhy

2021/02/25 05:27

繰り返しになりますが、カンマがあるかないかでわかります。
mitrasi

2021/02/25 05:36

本当に理解力が乏しくて申し訳ないです???? どうかもう少しだけお付き合い頂ければと思います。 コードを挿入したかったため、別途欄を使用しております。 ご確認よろしくお願い致します。
guest

0

こんにちは。

気にしなくて大丈夫とのことでしたが、どうしても気になってしまったので手当たり次第最終行と思しきところに回答者様からご共有頂いた記事のコードを以下のように突っ込んだところ、解決致しましたので念のためご報告致します。

結論:私の場合は、自分のbrackets.jsonの最終行に普通に追加し、あとは記事の手順通りに進めていくとエラーが出なくなった。

js

1 "linting.collapsed": true, ←参考記事の最終行はここだったが 2 3 "mikaeljorhult.bracketsAutoprefixer.visualCascade": true, 4 "mikaeljorhult.bracketsAutoprefixer.browsers": [ 5 "> 1%", 6 "last 2 versions", 7 "Firefox ESR" 8 ],"language":{   ←私のbrackets.jsonの場合の最終行はここ 9 "javascript":{ 10 "linting.prefer": ["JSHint"], 11 "linting.usePreferredOnly":true 12 } 13 } 14}

※参考記事は
こちらのサイト内を拝見したところ、同様の質問で未解決のスレも多かったので、微力ながらBracketsユーザーの方のお役に立てれば。

ご協力くださった皆様、本当にありがとうございました!

投稿2021/02/25 06:34

mitrasi

総合スコア49

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

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

0

本当に何度も恐れ入ります????質問者です。
コードを入れたいのでこちらから失礼します。
カンマがあることはわかったのですが、main.jsに「linting.collapsed":true」は見つけられないのでどこを見たら見つけられるのかお聞きしたかったのです。

最後がカンマであるというならば、私の脳内に浮かぶ「最後」は以下のように考えるのですが、どうにも違う気がします。

$('#buttons1 button:nth-child(n+9)')/*エラー*/ .on('mouseover', function () { $(this).find('> span')/*エラー*/ .stop(true).animate({ width: '100%' }, duration, 'easeOutQuad'); }) .on('mouseout', function () { $(this).find('> span')/*エラー*/ .stop(true).animate({ width: '0%' }, duration, 'easeOutQuad');←ここ? });←ここ? });←ここ?

投稿2021/02/25 05:35

編集2021/02/25 05:37
mitrasi

総合スコア49

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

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

Lhankor_Mhy

2021/02/25 05:39

「注意すべき点は、最終行の末尾に「,」コンマを付けてから追記する事。」という一文は、JSONのことです。あなたの書いたコードに手を加える必要はありません。
kaina

2021/02/25 05:42

きちんと記事を最初から読みましょう。 記事にはどこにもソースコードを修正するようには書いていませんよ。 記事には メニューから、[デバッグ] – [環境設定ファイルを開く]をクリックすると開く brackets.jsonの内容を編集するように書いていますよ。 流し読みするのではなく、最初から順を追って読んで手順通りやりましょう。
mitrasi

2021/02/25 05:51

>Lhankor_Mhy様 ようやく意味が分かりました。ありがとうございます。 ただ、個人で編集した記憶はないのですが私のはデフォルト文とどうもちがうようです。 ※詳しくは質問欄にイメージ追加 >kaina様 さようでございますね????知らない単語のオンパレードでパニックになっていたようです。失礼しました。
Lhankor_Mhy

2021/02/25 05:56

繰り返しになりますが、Bracketsを使ったことがないのでわかりません。 一般には、何かの拡張をインストールしたり、設定を変更したりすることによって、設定用のJSONは書き換えられるものですから、気にする必要はないのではないかな、と思います。わかりませんが。
mitrasi

2021/02/25 05:57

かしこまりました。 長時間お付き合いしていただき、ありがとうございました。
YT0014

2021/02/25 06:56

ここは回答欄で質問欄ではありません。質問を修正するか、この質問をきちんと閉じて、新たな質問をし直してください。
mitrasi

2021/02/25 07:24 編集

ご指摘ありがとうございます。 以後気を付けます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問