如果项目中除了 jQuery 库之外还有其它库,并且这个库中也有 $ 变量,那么这个 $ 就会和 jQuery 中的 $ 冲突。为了避免这样的冲突,需要再加载 jQuery 库之后,立即将 jQuery 设置为 no-conflict 模式。
将 jQuery 设置为 no-conflict 模式后,可以给 $ 设置个别名:
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>var $j = jQuery.noConflict();</script>
如果还想继续是用 jQuery 的 $,需要将代码包含在一个自执行的函数内,这也是一些 jQuery 插件作者的通用做法,因为这些作者并不知道项目中是否引用了其它库:
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
(function($) {
// 这里依然可以继续使用 jQuery 的 $
})(jQuery);
</script>