JQuery的$和其它JS发生冲突的快速解决方法


Posted in Javascript onJanuary 24, 2014

众所周知,jQuery是目前最流行的JS封装包,简化了很多复杂的JS程序,JQuery讲浏览器DOM树定义为$,通过$来获取各个子节点。

然后,JS插件并非只有JQuery,还有prototype.js 等其它比较好的插件。它们也使用$。所以有时候同时使用这个两个JS插件的时候,就会出现$的使用权冲突问题。现在我们来看看如何解决这个冲突问题。请看下文:

我们都知道JQuery有一个函数,jquery.noConflict() 它的作用是讲$的控制权转让出去。然后我们可以通过jQuery代替$来获取dom节点

举例:

方法一:

<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
jQuery(function(){ //使用jQuery
jQuery("p").click(function(){
alert( jQuery(this).text() );
});
});
$("pp").style.display = 'none'; //使用prototype
</script>

方法二:

我们可以通过noConflict()函数来定义一个快捷方式用来获取dom节点

<script type="text/javascript">
var $j = jQuery.noConflict(); //自定义一个比较短快捷方式
$j(function(){ //使用jQuery
$j("p").click(function(){
alert( $j(this).text() );
});
});
$("pp").style.display = 'none'; //使用prototype
</script>

还有其它的方法,都给大家列举出来,同理都可以看明白了吧,呵呵。

方法三:

<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
jQuery(function($){ //使用jQuery
$("p").click(function(){ //继续使用 $ 方法
alert( $(this).text() );
});
});  
$("pp").style.display = 'none'; //使用prototype
</script>

方法四:
<script type="text/javascript">
jQuery.noConflict(); //将变量$的控制权让渡给prototype.js
(function($){ //定义匿名函数并设置形参为$
$(function(){ //匿名函数内部的$均为jQuery
$("p").click(function(){ //继续使用 $ 方法
alert($(this).text());
});
});
})(jQuery); //执行匿名函数且传递实参jQuery
$("pp").style.display = 'none'; //使用prototype
</script>
Javascript 相关文章推荐
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
Jan 15 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
js脚本分页代码分享(7种样式)
Aug 19 Javascript
基于JavaScript实现动态创建表格和增加表格行数
Dec 20 Javascript
js中利用tagname和id获取元素的方法
Jan 03 Javascript
使用开源工具制作网页验证码的方法
Oct 17 Javascript
Ext JS 实现建议词模糊动态搜索功能
May 13 Javascript
ES6入门教程之let和const命令详解
May 17 Javascript
JavaScript设计模式之工厂模式简单实例教程
Jul 03 Javascript
JavaScript实现创建自定义对象的常用方式总结
Jul 09 Javascript
Node.js使用supervisor进行开发中调试的方法
Mar 26 Javascript
ElementUI radio组件选中小改造
Aug 12 Javascript
js判断60秒以及倒计时示例代码
Jan 24 #Javascript
innerText 使用示例
Jan 23 #Javascript
登陆成功后自动计算秒数执行跳转
Jan 23 #Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
Jan 23 #Javascript
html dom节点操作(获取/修改/添加或删除)
Jan 23 #Javascript
解决jquery插件冲突的问题
Jan 23 #Javascript
js实现日期级联效果
Jan 23 #Javascript
You might like
Prototype使用指南之range.js
2007/01/10 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
彻底解决 webpack 打包文件体积过大问题
2017/07/07 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
python sys模块sys.path使用方法示例
2013/12/04 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
高级工程师岗位职责
2013/12/15 职场文书
计算机专业毕业生求职信分享
2013/12/24 职场文书
英语专业毕业生自荐信范文
2013/12/31 职场文书
经贸日语专业自荐信
2014/09/02 职场文书
python Polars库的使用简介
2021/04/21 Python
react国际化react-intl的使用
2021/05/06 Javascript
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android