如何避免JQuery和Prototype之间的冲突

如果页面同时包含JQuery和Prototype,那么我就会遇到冲突。 有一个选项可以禁用JQuery的$ sign,所以没有冲突,但我必须使用关键字JQuery而不是$。

我想知道Prototype是否有任何选择来解决这个冲突。 有没有办法在不损害其利益或短关键字的情况下使用这两个库?

据我所知,在同一页面上使用多个JS库并不是一个好主意; 但有时可能会有所帮助。

对jQuery使用noConflict方法并将其分配给新的(短)变量。 使用new变量,无论你在哪里使用$ for jQuery。

var $j = jQuery.noConflict(); $j(function() { $j('#selector').each( .... ); }); 

或者,如果您不需要混合Prototype / jQuery,您可以将所有jQuery代码包装在匿名函数中。

 (function($) { // $ sign here is a parameter, which is set to jQuery $(function() { $('#selector').each( .... ); }); })(jQuery);