IE8+prototype.js+scriptaculous.js+jquery.js=エラー

prototype.jsscriptaculous.js→jquery.jsという順番で読み込む場合、IE8(8以外のIEでは試してない)でエラーが発生する問題。

エラーが発生する箇所は、prototype.jsのgetElementsByClassNameの中。$(element)を実行する箇所で、$がjQueryになってしまっている事が問題。

jquery.jsの中で、window.$にjQueryをセットした後にdiv.getElementsByClassNameを実行する箇所が有る。グローバルの$がjQueryに置き換わっているため、prototype.jsで定義されたgetElementsByClassNameの中でjQueryが使われてしまう。jQuery.noConflictで_$から戻そうにも、jquery.jsのロード中なので外からは手が出せない(自分が知らないだけで方法があるだろうか)。

困った。