web-dev-qa-db-ja.com

JQueryエラー:キャッチされていないTypeError:オブジェクト#<HTMLDocument>にはメソッド 'ready'がありません

私のサイトでは、javascriptコンソールのこのタイトルでエラーが発生しています。グーグルは、jqueryがロードされていないからだと言っているようですが、それは間違いなく頭の中に見えます。

<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>

このサイトは医療用マリファナに関連しているので、乱雑な頭についてはnsfw for some.sorry、開発モードです。 http://www.kindreviews.com/1/mmc/

ありがとう、zeem

35
zeemy23

どうやらjQueryとMootoolsの両方を使用していて、両方ともコア関数のエイリアスとして$を使用しているようです。おそらく、このエラーを生成している$関数はMootools関数です。私のポイントが正しいかどうかを確認できるように、$の代わりにjQueryを使用してjQueryコードを作成することをお勧めします。

がんばろう!

53
brandizzi

うん-それはまさに問題だと思う。 jQueryとmooToolsは、$表記の使用をめぐって戦います。

あなたは正しい軌道に乗っています

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

ただし、それを使用した後、jQuery機能を使用するには、$(...)ではなくjQuery(...)を呼び出す必要があります。例:

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

これに関するjQueryドキュメントへのリンクは次のとおりです。 http://docs.jquery.com/Using_jQuery_with_Other_Libraries

8
tbthorpe

ヘッダー行を追加するのを忘れたときに同じエラーが発生しました:

<script type="text/javascript" src="/javascript/jquery-ui-1.8.14.custom.min.js">   
</script>
0
Daj Shung