Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JQuery Error: Uncaught TypeError: Object #<HTMLDocument> has no method 'ready'

my site is getting the error in this title in the javascript console. Google seems to say that it is because jquery isn't loaded, but it is definitely visible in the head.

<script type="text/javascript">
  $(document).ready(function(){
    $.ajax({
      type: "GET",
      url: "https://www.mjfreeway.com/naturalremedies/mml-connect/45.xml",
      dataType: "xml",
      success: function(xml) {
        $(xml).find("products").each(function() {
          $(this).find("product").each(function() {
            $("#output").append($(this).find("title").text() + "<br />");
          });
        });
      }
    });
  });
</script>

the site is medical marijuana related, so nsfw for some.sorry for the messy head, it's in dev mode. http://www.kindreviews.com/1/mmc/

Thanks, zeem

like image 778
zeemy23 Avatar asked Apr 18 '11 16:04

zeemy23


2 Answers

Apparently you are using both jQuery and Mootools and both of them do use $ as an alias to a core function. Probably the $ function which is generating this error is the Mootools function. I'd suggest you to try to write your jQuery code using jQuery instead of $ so you can confirm my point is right or not.

Good luck!

like image 185
brandizzi Avatar answered Nov 13 '22 14:11

brandizzi


Yup - I believe that's exactly the problem. jQuery and mooTools fight over the use of the $ notation.

You're on the right track with using

try{
   jQuery.noConflict();
 } catch(e){};

But after you use that, in order to use jQuery functionality, you have to call it jQuery(...) instead of $(...). Example:

// Use jQuery via jQuery(...)
 jQuery(document).ready(function(){
   jQuery("div").hide();
 });

Here's a link to the jQuery docs regarding this: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

like image 41
tbthorpe Avatar answered Nov 13 '22 15:11

tbthorpe