2016-04-20 22 views
1

私はワードプレスのブログを運営しています。 それは私が実行するとjQueryの

<script type='text/javascript' src='/wp-includes/js/jquery/jquery.js?ver=1.12.3'></script> 
<script type='text/javascript' src=/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.0'></script> 

が含まjQuery Iました:

function (a,b){return new n.fn.init(a,b)} 

私は

Uncaught TypeError: $ is not a function(…)

を得た

$("div") 

しようとするとき、私トンRY jQuery("div")

私が得た:

a.fn.init[203]

がどのように私はjQueryのを使用することができますか?

+3

あなたがワードプレスを使用しているように、あなたは 'jQuery.noConflictを()'持って、見えます、私はワードプレスが –

+0

代わりに '$'で、あなたはを参照するために 'jQuery'を使用することができないと思いますjquery library –

+3

2番目のスクリプトのsrcのあとに見つからなかったと思います –

答えて

3

$は明らかにこのケースで行方不明jQuery()関数のエイリアスです...

一つの方法は、jQueryとあなたの他のスクリプトの間、実行することです。

<script type="text/javascript"> 
    var $ = jQuery; 
</script> 

それが動作するはずです

+0

$( "div")は正確にjQuery( "div"):a.fnを返します。init [203]:DOMではなく関数を返します – yarek

+0

DOMのものではなく、jQueryオブジェクトである可能性があります...後でjqueryメソッドを呼び出そうとしましたか? – Vincent

0

他の人からもお伝えしたように、これはjQuery.noConflictが原因です。あなたはjQuery$変数をマッピングし、単に表現の内側にあなたのロジックを配置するImmediately-Invoked Function Expressionを使用することができます。これは、jQueryのように見えます

(function($) { 
    // $ is now the same as jQuery 

    $('body').remove(); 
})(jQuery); 
// ^^^^^^ we're passing this to the "function($)" call 
0

は(おそらく、競合を避けるために)$変数にバインドされていません。通常、どのように

(function ($) { 
    // Use $ in this scope 
}(jQuery)); 

文書の準備ができたときにすべてのコードを実行する必要がある場合(:

あなたが$変数を使用したい場合、あなたはそれがその変数にバインドされる請求項スコープを作成することができますあなたはまた、単にグローバル変数$にjQueryのを追加することができます

jQuery(function ($) { 
    // Document ready, use $ in this scope... 
}); 

:あなたはまた、jQueryのがあなたのために作成されるスコープを使用することができます)に行われます。 jQueryだけがその変数を使用していることが分かっているなら、それはおそらく問題ありません。どこか別のページで

$ = jQuery; 
関連する問題