by shigemk2

当面は技術的なことしか書かない

prototype.jsとjQueryを読み込む順番について

prototype.jsと同時に使うには - jQuery 日本語リファレンス

まず両方のライブラリを取り込まなければいけませんが、呼び出し順を必ずjQueryが後になるようにして下さい。

とあります。

先にjQueryを呼び出し、後にprototypeを呼び出したのではコンフリクトが起きてしまうということ。
そして、2つのライブラリ共存させるには、jQueryの"noConflict"を使う。

noConflictのところで説明されているが、
jQuery.noConflict() - jQuery 日本語リファレンス
prototypeにはnoConflictに該当するメソッドはないので、
jQueryを呼び出したあとにprototypeをそのまま呼び出してしまうと、
$の部分で名前空間の衝突が起こってしまう。

でも、別にnoConflictを使わなくても、
接頭辞をprototype用とjQuery用で用意したらいいわけですね。
Avoiding Conflicts with Other Libraries | jQuery Learning Center

そう、こんな風に。

<html>
 <head>
   <script src="jquery.js"></script>
   <script src="prototype.js"></script>
   <script>
     // Use jQuery via jQuery(...)
     jQuery(document).ready(function(){
       jQuery("div").hide();
     });
     
     // Use Prototype with $(...), etc.
     $('someid').hide();
   </script>
 </head>
 <body></body>
 </html>