简体   繁体   中英

TypeError: jQuery(…).ready(…) is not a function

OK, I know this has been asked before but none of the answers seems to apply to my case. I'm trying to get a very tiny piece of jQuery running (I'm just getting started on it).

jQuery(document).ready(function(){
    jQuery('.comtrig').on('click',function(){
        $(this).next().animate({'display':'inline'},1000);
    });
})();

I get the error TypeError: jQuery(...).ready(...) is not a function in FF or Uncaught TypeError: object is not a function in Chrome.

  • Solution 1 was to replace $ with jQuery but I obviously already did that as shown above
  • I'm not in Wordpress either
  • I'm using only jQuery and the above mini script, no other JS
  • jQuery itself seems to load fine 在此输入图像描述

What am I missing here?

try to remove this (); at the end of doc ready:

jQuery(document).ready(function(){
  jQuery('.comtrig').on('click',function(){
    $(this).next().animate({'display':'inline'},1000);
  });
}); //<----remove the (); from here

(); is normally used to have a Immediately-Invoked Function Expression (IIFE) which has some kind of syntax like this:

(function(){
   // your stuff here
})(); //<----this invokes the function immediately.

Your errors:

in firefox = TypeError: jQuery(...).ready(...) is not a function

in chrome = Uncaught TypeError: object is not a function

because:

Your document ready handler is not a Self-executing anonymous function .

There are two issues in the code.

1 - The brackets at the end of the code.

2 - $(this) should have been jQuery(this) or $ inside function.

jQuery(document).ready(function($){
    $('.comtrig').on('click',function(){
        $(this).next().animate({'display':'inline'},1000);
    });
});

Remove the extra brackets () at the end. Keep the code as below.

jQuery(document).ready(function(){
    jQuery('.comtrig').on('click',function(){
        $(this).next().animate({'display':'inline'},1000);
    });
}); // <== remove () from here

Passing jquery object this way works for me.

$(document).ready(function () {
    console.log("jquery");
}(jQuery));

These Errors:

    TypeError: jQuery(...).ready(...) is not a function
    or
    Uncaught TypeError: object is not a function

are also happens if you implement Jquery library after your code, it should be before, ORDER MATTER here .

 <script src="@Url.Content("~/Scripts/jquery-1.10.2.js")"></script>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM