jQuery和prototype.js冲突,如何将jQuery保持为$?

Sau*_*ius 7 jquery prototypejs

所以我正在开发一个同时使用jQuery和prototype.js的网站,但是它们存在冲突.

我研究了一下,发现人们解决这个问题的唯一方法就是使用

<script>
 jQuery.noConflict();

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

 // Use Prototype with $(...), etc.
 $('someid').hide();
Run Code Online (Sandbox Code Playgroud)

但是我不想将$更改为jQuery,因为这意味着我必须编辑一些预先编写的代码.有没有办法阻止他们冲突,并将jQuery保留为$?

Pee*_*Haa 10

您可以创建一个闭包(在最后),而不是使用文档就绪body:

(function($) {
  //jQuery stuff
  $('.elem') // $ refers to jQuery
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

如果我正确理解你的问题


Ell*_*lle 6

不,不是我听说过的.为了尽量减少代码转换的痛苦,你可以做到这样的事情:

var j$ = jQuery.noConflict();
Run Code Online (Sandbox Code Playgroud)

然后你可以$j$.替换jQuery 调用.您甚至可以使用简单的搜索/替换呼叫.