jQuery issue - #<an Object> has no method

100,675

Solution 1

Ignore me. I'm sorry everyone. I'd mistyped the url of the script. Thanks to Simon Ainley for the prod in the right direction.

Sorry again. Thanks.

Solution 2

This problem can also arise if you include jQuery more than once.

Solution 3

I had this problem, or one that looked superficially similar, yesterday. It turned out that I wasn't being careful when mixing jQuery and prototype. I found several solutions at http://docs.jquery.com/Using_jQuery_with_Other_Libraries. I opted for

var $j = jQuery.noConflict();

but there are other reasonable options described there.

Solution 4

For anyone else arriving at this question:

I was performing the most simple jQuery, trying to hide an element:

('#fileselection').hide();

and I was getting the same type of error, "Uncaught TypeError: Object #fileselection has no method 'hide'

Of course, now it is obvious, but I just left off the jQuery indicator '$'. The code should have been:

$('#fileselection').hide();

This fixes the no-brainer problem. I hope this helps someone save a few minutes debugging!

Solution 5

This problem may also come up if you include different versions of jQuery.

Share:
100,675
Shaun
Author by

Shaun

Updated on July 29, 2020

Comments

  • Shaun
    Shaun almost 4 years

    I've tried a veriety of jQuery plugins recently and I keep getting this error …

    has no method
    (source: shaunbellis.co.uk)

    … regardless of what plugin I try to use.

    I've checked the links to the JS files which are all there and working fine. I'm using Drupal if that makes any difference.

    I've run the plugins away from the main site to demonstrate that they are working and that I am doing things right with 100% success.

    Any ideas?

    Update:

    My jQuery file called in the footer:

    $(document).ready(function() {          
    
    $('#footer_holder').hide();
    
    // Fancy Box
    $("a.fancybox").fancybox({
        'hideOnContentClick': true,
        'titlePosition' : 'over',
        'transitionIn'  :   'elastic',
        'transitionOut' :   'elastic',
        'speedIn'       :   600, 
        'speedOut'      :   200, 
        'overlayShow'   :   false,
    });
    
    $("#homepage_slider").easySlider({
        auto: true, 
        continuous: true,
    });
    

    });

    *note - fancy box works fine (unless the easySlider code is above it). jQuery is sorted out by Drupal. I'm running version 1.4