同一个页面引入多个版本jQuery实现共存

在面临旧项目中升级jQuery版本导致的兼容性问题时,需要实现同一页面上不同版本jQuery共存。通过分析,发现简单调整引入顺序无法解决问题。文章详细介绍了如何利用jQuery的noConflict()方法解决版本冲突,实现不同版本jQuery的和谐共存,为项目中多个jQuery版本的需求提供了解决方案。
摘要由CSDN通过智能技术生成

一、问题背景

1、一个老项目,需要调整部分前端功能,由于之前的jQuery版本太低,需要升级jQuery的版本。 问题来了,直接升级到高版本的jQuery , 之前的功能不能使用了。 (不知道为何jQuery高版本不兼容低版本的)

2、需求就是: 同一个页面需要多个不同版本的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 版本号: jQuery版本是: 2.0.0

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

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>

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

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

三、问题解决

1、在菜鸟教程中看到了 ---> jQuery - noConflict() 方法

2、使用 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);
});

3、输出结果: jQuery版本是: 1.10.0, jQuery2版本是: 2.0.0 

四、总结

当前项目中有多个版本的jQuery对象需要共存,或者 jQuery 对象$ ,与其他js框架 $ 对象冲突时,可以使用 $.noConflict() 来释放对 $ 标识符的控制。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值