jQuery Uncaught Typeerror:Object的'$'属性不是一个函数

时间:2013-02-27 03:17:57

标签: jquery content-management-system syntax-error

我在尝试运行以下jQuery代码时收到错误(Uncaught TypeError: Property '$' of object [object Object] is not a function):

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

我设置the test page时没有收到此错误,我只在my actual site收到。我已经尝试用

替换我的第一行代码
jQuery(document).ready(function ($) { 

因为其他帖子建议我的CMS在无冲突模式下加载jQuery,它只返回了一个不同的错误(Uncaught ReferenceError: jquery is not defined)。有没有人有任何有用的建议?

5 个答案:

答案 0 :(得分: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())
            });
        });

答案 1 :(得分:1)

首先确保jQuery js已加载。

同时检查与jQuery $冲突的其他JavaScript库。

并使用jQuery.noConflict();

正式文件http://api.jquery.com/jQuery.noConflict/

答案 2 :(得分:1)

JS区分大小写:

jquery(document).ready(function($){
 ^__ This should be capitalized

答案 3 :(得分:1)

在你的源代码中,jQuery全是小写的,“jquery”。这似乎是你的问题。将其更改为“jQuery”,看看它是否有效。

答案 4 :(得分:0)

<script type="text/javascript">
$(document).ready(function() { 

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

});     
</script>

然后你可以在该函数的范围内使用$,而不会与范围之外的其他库冲突