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

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

新規登録して質問してみよう
ただいま回答率
85.48%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

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

jQuery

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

Q&A

解決済

1回答

403閲覧

Uncaught TypeError: jQuery(...).tinyNav is not a function

spellbound

総合スコア190

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2017/08/30 09:14

Uncaught TypeError: jQuery(...).tinyNav is not a function at HTMLDocument.<anonymous> (functions.min.js?ver=4.8.1:6) at i (jquery.js?ver=1.12.4:2) at Object.fireWith [as resolveWith] (jquery.js?ver=1.12.4:2) at Function.ready (jquery.js?ver=1.12.4:2) at HTMLDocument.K (jquery.js?ver=1.12.4:2)

コンソールを見た所、上記のエラーが吐かれていました。

js

1(function($,window,i){$.fn.tinyNav=function(options){var settings=$.extend({'active':'current-menu-item','header':false},options);var counter=-1;return this.each(function(){i++;var $nav=$(this),namespace='tinynav',namespace_i=namespace+i,l_namespace_i='.l_'+namespace_i,$select=$('<select/>').addClass(namespace+' '+namespace_i);if($nav.is('ul,ol')){if(settings.header){$select.append($('<option/>').text('Navigation'))}var options='';$nav.addClass('l_'+namespace_i).find('a').each(function(){options+='<option value="'+$(this).attr('href')+'">';var j;for(j=0;j<$(this).parents('ul, ol').length-1;j++){options+='- '}options+=$(this).text()+'</option>'});$select.append(options);if(!settings.header){$select.find(':eq('+$(l_namespace_i+' li').index($(l_namespace_i+' li.'+settings.active))+')').attr('selected',true)}$select.change(function(){window.location.href=$(this).val()});$(l_namespace_i).after($select);if(settings.label){$select.before($("<label/>").attr("for",namespace_i).addClass(namespace+'_label '+namespace_i+'_label').append(settings.label))}}})}})(jQuery,this,0);jQuery(function(){jQuery('#main-nav .root').tinyNav({active:'current-menu-item'})});

コードは上記のようになっています。

下記の解決策を見る限り jQuery(document); を使えという話ですが $(document); は使っていないため、関係なさそうです。
https://stackoverflow.com/questions/7975093/typeerror-undefined-is-not-a-function-evaluating-document

何が問題そうでしょうか...

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

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

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

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

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

think49

2017/08/30 09:30

該当コードをコピペしましたが、エラーは確認できませんでした。 https://jsfiddle.net/#&togetherjs=tK6vlBFj4d minified前のコードで再検証し、当該エラー行を特定して下さい。 その後、console.log($.fn.tinyNav) やブレイクポイントを設定し、$.fn.tinyNav の初期化に失敗している原因を探ってみて下さい。
kei344

2017/08/30 15:23

script要素も提示ください。
m.ts10806

2017/08/31 05:36 編集

ひとまず $(~~) → jQuery(~~) に全て変換してみては? noConflict()は使ってませんか?
m.ts10806

2017/08/31 05:38

ご提示の記事は「WordpressではデフォルトでnoConflict()が入っているから$()ではなくjQuery()となおせ」みたいな感じだと思いますよ。この記事が参考になります→ http://structured-p.info/jquery/258
guest

回答1

0

自己解決

こちらの記事で解決しました!ありがとうございます!
http://structured-p.info/jquery/258

mts10806さん、kei344さん、think49さんありがとうございました!

投稿2017/09/01 08:08

spellbound

総合スコア190

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問