jquery中的$符号冲突怎么解决
程序员文章站
2022-04-16 20:07:54
...
jquery中的$符号冲突的解决方法:使用【jQuery.noConflict([extreme])】方法解决,代码为【var $jq = jQuery.noConflict(true);console.log($.fn.jquery)】。
该方法适用于所有品牌电脑
jquery中的$符号冲突的解决方法:
使用jQuery.noConflict([extreme])
方法。
<script src="jquery-1.5.0.js"></script> <script src="jquery-1.11.0.js"></script> <script> console.log($.fn.jquery); //'1.11.0' var $jq = jQuery.noConflict(true); console.log($.fn.jquery); //'1.5.0' </script>
可以看到jQuery.noConflict
将变量 $
的控制权让渡给了1.5.0版本的jQuery库。而要使用1.11.0的版本则要用 $jq()
代替。
但是引入了两个版本的jQuery后,代码很乱,导致别人难以理解甚至误删了一些重要代码怎么办?
改进的方法是:
先直接引用新版的jQuery库。
<script src="jquery-1.11.0.js"></script> <script src="myJS.js"></script>
把我们写的脚本myJS.js中的主体内容写在立即调用函数里头,引用的是新的版本的jQuery。
//myJS.js (function() { //myJS.js的代码,引用的是v1.11.0 })();
再写一个立即调用函数,把旧版本的jQuery代码嵌进去(压缩代码只有几行)。然后在里面写代码,此时变量$所引用的前面嵌进去的jQuery
//myJS.js (function () { //...此处省略/jquery1.5.0 //jquery1.5.0的压缩代码 var $ = jQuery.noConflict(true); //此处开始写的$()所引用的是jquery1.5.0 })();
Ps:需要检查jQuery的协议是否允许我们把jQuery源码直接嵌入我们自己的JavaScript代码
2、同一页面jQuery和其他js库冲突解决方法
①依然可以使用jQuery.noConflict将变量$的控制权让渡给其他js库。
如果jQuery在其他js库前,不需要使用noConflict。
<!-- 引入 jquery库 --> <script src="jquery-1.11.0.js"></script> <script type="text/javascript"> var $jq = $; console.log($.fn.jquery); //'1.11.0' </script> <!-- 引入 其他库--> <script type="text/javascript"> $ = { fn:{ jquery:"otherJS" } }; </script> <script type="text/javascript"> console.log($.fn.jquery); //otherJS console.log($jq.fn.jquery); //'1.11.0' </script>
如果在其他js库之后,用noConflict让渡。
<!-- 引入 其他库--> <script type="text/javascript"> $ = { fn:{ jquery:"otherJS" } }; </script> <!-- 引入 jquery库 --> <script src="jquery-1.11.0.js"></script> <script type="text/javascript"> console.log($.fn.jquery); //'1.11.0' var $180 = $.noConflict(); //解除冲突 console.log($.fn.jquery); //otherJS console.log($jq.fn.jquery); //'1.11.0' </script>
相关免费学习推荐:JavaScript(视频)
以上就是jquery中的$符号冲突怎么解决的详细内容,更多请关注其它相关文章!
推荐阅读
-
Hbase、elasticsearch整合中jar包冲突的问题解决
-
Android中DrawerLayout+ViewPager滑动冲突的解决方法
-
indexerror怎么解决(python中函数参数传递的三种方式)
-
详解闭包解决jQuery中AJAX的外部变量问题
-
CATIA工具栏中的快捷键加速器灰色怎么解决?
-
铁路12306行程冲突怎么办? 12306提示行程冲突的解决办法
-
indexerror怎么解决(python中函数参数传递的三种方式)
-
jquery中checkbox全选失效的解决方法
-
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
-
解决自定义$(id)的方法与jquery选择器$冲突的问题