<!-- 引入1.6.4版的jq -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js"></script>
<script> var jq164 = jQuery.noConflict(true); </script>
<!-- 引入1.4.2版的jq -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script> var jq142 = jQuery.noConflict(true); </script>
<script>
(function($){
    //此时的$是jQuery-1.6.4
    $('#header');
})(jq164);
</script>
<script>
(function($){
    //此时的$是jQuery-1.4.2
    $('#footer');
})(jq142);
</script>


以下的方法来自:http://www.ahuing.com/javascript/jquery-chongtu-366/

在jQuery库中,几乎所有的插件都被限制在它的命名空间里。全局的对象都很好地存储在jQuery命名空间里,因此当把jQuery和其它javascript类库一起使用时,不会引起冲突.(注意:默认情况下,jQuery用$作为自身的缩写而以)

如果jQuery类库和别的类库冲突的话,可以使用jQuerynoConflict()函数来将变量$的控制权移交出给其它的javaScipt库。看下面小片断代码

<script type="text/javascript" src="../JS/JsCOM.js"></script>

<script type="text/javascript" src="../jQuery/jquery-1.3.2-vsdoc2.js"></script>

假设JsCOM.js库中,有这样一个函数

function $(objName) {
    if (document.getElementById) {
        return eval('document.getElementById("' + objName + '")')
    }
    else {
        return eval("document.all." + objName)
    }

大家都知道jQuery里面也一个这样的函数,为了不引起冲突,我们将jQuery的变量$的控制权移交出给别的javascript库

jQuery.noConflict();    //将变量$的控制权移交给JsCOM.js
var $cr = jQuery("#cr");  //照样使用jQuery类库,只是用jQuery代替了原来的$而以。
var JsCOM_cr = $("cr");   //使用JsCOM.js类库

在这里可以把jQuery()函数作为jQuery对象的制造工厂.

在这里要注意几点
1.引用javascript类库时,一定要把jQuery引用放在最后面,就像上面一样,JsCOM.js的引用在jQuery引用的前面(具体原因我也不知,不过确实需要这样)
2.特别要注意jQuery()代替$()时,jQuery是区分大小写的,因为javascript本身就是区分大小写的(好像说这个有点多余,不过还是希望大家不要犯这种错误)

基本上根据上面的方法就可以解决jQuery和其它库的冲突问题了!

如果你觉得上面的方式不爽,每次都要打jQuery来代替$增加了您敲键盘的工作量,那请接着看。。
除上面之外,还有另一种选择。如果想确保jQuery不会与其它库冲突,但又想自定义一个快捷方式,可以进行如下操作;

var $j = jQuery.noConflict();  //自定一个快捷方式
var $cr = $j("#cr");           //使用jQuery类库,得用自定义快捷方式----$j;
var JsCOM_cr = $("cr");        //和上一段代码一样,使用的是JsCOM.js类库

如果您还有别的要求,想继续使用原先的$(),同时还需要与别的类库不冲突的话,还有两种解决方法
其一:

jQuery.noConflict();    //将变量$的控制权让给JsCOM.js
   jQuery(function($)
   {
     $("p").click(function()   //在函数内继续可以使用jquery类库的$()方法
      {
         alert($(this).text());
      })
   })

var JsCOM_cr = $("cr");   // 在函数外面,照样可以使用JsCOM.js的$()方法

其二:

jQuery.noConflict(); //将变量$的控件权移交给别的类库,使用jquery类库的$符号时,请使用jQuery("#id");
        (function($) {       //定义匿名函数并设置形参为$
            $(function() {   //匿名函数内部的$均为jQuery
                $("div").click(function() {//继续使用$()方法
                alert($(this).text());
                })
            })
        })
        (jQuery);           //使用匿名函数且传递实参jQUery
        alert($("cr"));   //使用的是jsCOM.js类库中的$()函数

第二种方法应该是兼容旧的代码最好的方式,修改的代码是最少的!
不过如果是新写的jQuery代码,我还是比较喜欢使用刚开始讲的那种(jQuery.noConflict(),然后就使用jQuery("#id"),这种方式)

如果您的页面是先引用jQuery类库再引入别的类库的话,那么我们可以直接使用jQuery来做一些工作,同时,可以使用$()方法作为其它库的快捷方式。这里无需调用jQuery.noConflict()函数,请看下面代码

<script type="text/javascript" src="../jQuery/jquery-1.3.2-vsdoc2.js"></script>
 <script type="text/javascript" src="../JS/JsCOM.js"></script>

jQuery().ready(function() {     //无需调用jQuery.noConflict()函数
                    var $cr = jQuery("#cr");
                    $cr.click(function() {
                        if ($cr.is(":checked")) {
                            alert("感谢你的支持!你可以继续操作了..");
                        }
                    })
                })
            alert($("cr"));   //使用的是jsCOM.js类库中的$()函数

jquery版本之间的冲突相关推荐

  1. 发现无法解决的相同从属程序集的不同版本之间的冲突

    本文翻译自:Found conflicts between different versions of the same dependent assembly that could not be re ...

  2. 【三】版本之间穿梭切换

    版本之间穿梭切换 1. 版本回退 2. 回退版本 3. 工作区和暂存区 4. 管理修改 5. 撤销修改 6. 删除文件 再穿梭前,我们先修改readme.txt文件,修改为: Git is a dis ...

  3. Python 应用领域以及版本之间的区别

    Python 应用领域以及版本之间的区别 一.Python应用领域 Python+人工智能,给你更多研究方向选择! 企业级综合实战项目,集六大前沿技术为一体 二. Python 2与Python 3的 ...

  4. 解决jquery和prototype库冲突问题

    解决jquery和prototype库冲突问题 参考文章: (1)解决jquery和prototype库冲突问题 (2)https://www.cnblogs.com/Joanna-Yan/p/483 ...

  5. git 比较两个版本之间的区别

    查看当前没有add 的内容修改 git diff 查看已经add 没有commit 的改动 git diff --cached 查看当前没有add和commit的改动: git diff HEAD 或 ...

  6. jQuery版本不同及多次引用问题

    jQuery版本在不断更新,许多插件并不能很好地工作在各个版本上,并且发现如果在一个页面中多次引用jQuery将会出现问题,害得我折腾了好久,才发现是重复引用问题. 为了避免重复引用,最好在jQuer ...

  7. TF版本升级问题集合:成功解决由于不同的TensorFlow版本之间某些函数的用法引起的错误

    TF版本升级问题集合:成功解决由于不同的TensorFlow版本之间某些函数的用法引起的错误 目录 遇到的问题以及对应解决方法 遇到的问题以及对应解决方法 Transitioning to Tenso ...

  8. GP TEE_ObjectInfo结构体在不同的版本之间的变化

    概况和背景: 在optee SDK中使用GP标准接口开发的TA,移植到Trustonic-TEE上,编译报错了.rootcause:我开发的TA是参考optee_example repository的 ...

  9. matlab版本之间的单双引号问题

    matlab版本之间的单双引号问题 问题描述 运行matlab文件的时候出现错误提示 Creating a string using double quotes is not supported. U ...

  10. Oracle导入到不同的角色,oracle 不同版本之间的导入导出

    不同版本oracle导入导出解决办法. 今天遇到一个比较特殊的情况,需要在oracle8中使用oracle9的数据,如是导入导出.费了大半天,从oracle9中导出的数据就是无法导入oracle8中. ...

最新文章

  1. 如果你写程序不愿写注释,只有一个原因
  2. Docker 安装 For CentOS 7.4
  3. 编程语言的分类及其优缺点,Python标准输入与输出
  4. BZOJ-1968: [Ahoi2005]COMMON 约数研究 (思想)
  5. Building a WAMP Dev Environment [3/4] - Installing and Configuring PHP
  6. RocketMQ概念整理
  7. 【git】前端使用git分支的开发流程
  8. daysmatter安卓版_days matter
  9. 测试自动化金字塔在软件开发中是如何使用的?
  10. windows安装docker后启动报错无法下载镜像文件Error with pre-create check: “Get https://github-production-release-ass
  11. 用语言控制Linux:Linux的语音识别软件
  12. Mariadb 10.0.12 服务器my.cf配置
  13. 简支梁挠度计算公式推导_挠度公式推导与计算
  14. c语言void* arg,void * arg什么意思
  15. 蚂蚁金服缘何自研Service Mesh?
  16. 【整理】MFC单文档程序窗口大小的设置
  17. IAR无法调试问题解决
  18. 波澜哥utau音源下载
  19. 群晖NAS教程(二十)、利用Docker安装zdir搭建个人云盘
  20. 学术期刊的级别、种类、等级,研究生看哪些论文,这篇文章全讲清楚了(自用笔记)

热门文章

  1. Linux系统中PostgreSQL客户端的安装
  2. 怎么快速把wmv视频格式转换成mp4视频
  3. 怎么改变鼠标图案HTML,怎么换鼠标指针的颜色和图案?
  4. 网吧用电影服务器系统,网吧流媒体电影服务器搭建的解决方案
  5. java使用Jco连接SAP
  6. ckeditor 3.6一直提示“例外被抛出且未被接住”的问题的解决方法
  7. android 开发按键精灵,安卓按键精灵实现后台
  8. js实现百度换肤功能
  9. Java实现日历小程序【代码】
  10. python计算皮尔森相关系数