1

Uncaught TypeError: Property '$' of object [object Object] is not a function次のjQueryコードを実行しようとすると、エラー( )が表示されます。

$(document).ready(function(){
  $('.login').click(function(){
    $.getJSON('https://www.cloudflare.com/api_json.html', $('form').serialize())
  });
});

設定したテストページではこのエラーは表示されません。実際のサイトでのみ表示されます。コードの最初の行を次のように置き換えてみました

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

他の投稿では、CMSが競合なしモードでjQueryを読み込んでいることが示唆されていたため、別のエラー()が返されましたUncaught ReferenceError: jquery is not defined。誰か役に立つ提案がありますか?

4

5 に答える 5

2

すべきではありjQueryませんjquery

jQuery変数では大文字と小文字が区別されます。

あなたはjquery(document).ready(function($){小さなケースを使用qしました、それはあるべきですjQuery(document).ready(function($){

あなたはそれを短くすることができます

jQuery(function($){
            $('.submit-login-info').click(function(){
                $.getJSON('https://www.cloudflare.com/api_json.html', $('.logininfo').serialize())
            });
        });
于 2013-02-27T03:22:50.330 に答える
1

まず、jQueryjsがロードされていることを確認します。

また、と競合している他のjavascriptライブラリを確認してくださいjQuery $

そして使用するjQuery.noConflict();

公式ドキュメントhttp ://api.jquery.com/jQuery.noConflict/

于 2013-02-27T03:21:55.447 に答える
1

JSでは大文字と小文字が区別されます。

jquery(document).ready(function($){
 ^__ This should be capitalized
于 2013-02-27T03:22:28.500 に答える
1

ソースコードでは、jQueryはすべて小文字の「jquery」です。それがあなたの問題のようです。これを「jQuery」に変更して、機能するかどうかを確認します。

于 2013-02-27T03:23:43.063 に答える
0
<script type="text/javascript">
$(document).ready(function() { 

    $('a[href=#top]').click(function(){
        $('html, body').animate({scrollTop:0}, 'slow');
        return false;
    });

});     
</script>

次に、スコープ外の他のライブラリと競合することなく、その関数のスコープで$を使用できます

于 2013-08-25T22:06:58.950 に答える