如果项目中除了 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>