项目中同一个页面引入不同的jQuery版本的不冲突问题

  在写项目的过程中,如果需要使用jQuery时,时长会遇到需要引入不同版本的jQuery,可能上一个负责该项目的人用到的是老版本的jQuery,而你去添加功能时用的是新版本的,这个问题很难避免掉,如果去改代码,可能会浪费很长的时间,下面说一下我的解决方法。

1、在html页面,引入两个不同版本的 jQuery(低版本在前,高版本在后)

<script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.0/jquery.min.js"></script>
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

2、输出jQuery 版本号

<script type="text/javascript">
    $(function(){
        var version = $.fn.jquery ;
        console.info(version);
        document.write("jQuery版本是: " + version);
    });
</script>

此时的版本号是2.0.0;

3、对调jQuery版本引入顺序 (高版本在前,低版本在后)

<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.0/jquery.min.js"></script>

使用 2中方法,再次输出jQuery版本号: jQuery版本是: 1.10.0;

4、结论: 通过调整 jQuery的引入顺序,无法解决不同版本jQuery共存的问题。 最终获得的jQuery对象是最后加载的那一个。

5、解决问题

使用 noConflict() 方法实现jq版本共存;

$(function(){
    var $2 = $.noConflict(); // 第二个加载的jQuery对象变成了 $2
    var version = $.fn.jquery ;
    var version2 = $2.fn.jquery ;
    console.info(version , version2);
    document.write("jQuery版本是: " + version + "jQuery2版本是: " + version2);
});

这时,两个版本就可以共存了;

原文地址:https://www.cnblogs.com/mengshou/p/11640515.html