jquery中的$符号冲突怎么解决


本文摘自PHP中文网,作者coldplay.xixi,侵删。

jquery中的$符号冲突的解决方法:使用【jQuery.noConflict([extreme])】方法解决,代码为【var $jq = jQuery.noConflict(true);console.log($.fn.jquery)】。

  • 该方法适用于所有品牌电脑

jquery中的$符号冲突的解决方法:

使用jQuery.noConflict([extreme])方法。

1

2

3

4

5

6

7

<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库。

1

2

<script src="jquery-1.11.0.js"></script>

<script src="myJS.js"></script>

把我们写的脚本myJS.js中的主体内容写在立即调用函数里头,引用的是新的版本的jQuery。

1

2

3

4

//myJS.js

(function() {

//myJS.js的代码,引用的是v1.11.0

})();

再写一个立即调用函数,把旧版本的jQuery代码嵌进去(压缩代码只有几行)。然后在里面写代码,此时变量$所引用的前面嵌进去的jQuery

1

2

3

4

5

6

7

//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怎么判断对象是否是数组

jQuery如何判断某个div是否存在

jQuery中怎么获取数组的长度

jQuery addclass不起作用怎么办

jQuery让select不选中怎么实现

jQuery如何判断指定id的对象是否存在

jQuery与ajax的区别是什么

jQuery如何动态添加删除css样式?(代码示例)

jQuery读取json中文乱码怎么办

jQuery怎么判断滚动条是否存在

更多相关阅读请进入《jQuery》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...