登录 | 注册

优就业jQuery教程-jQuery中 $ 符号的冲突问题

首页 > Web前端 > JQuery 2016-11-04 15:54:02 浏览次 共 条评论

收藏赞(分享

jQuery中 $ 符号的冲突问题是常见问题之一。

在jQuery中,$是jQuery的别名,为了书写方便,我们更习惯用$('#id')这一类的方式来书写代码。当同一页面引用了jQuery多个版本或者jQuery与某些其他js库产生冲突,控制台就会报错。

1、同一个页面多个版本冲突解决办法

你可能会问,为什么在一个页面上会引用多个版本的jQuery,只引用一个不就好了吗?

答案是:不行。一般要用到两个(或以上)版本的jQuery库的原因是:现有的网站已经用了旧版本的jQuery以及相关插件,直接将jQuery升级到新版本会导致这些基于旧版本jQuery的插件不能工作,除非你能把这些插件全部升级,或者等各个插件的作者发布支持新版本jQuery的插件版本。

解决办法:使用jQuery.noConflict([extreme])方法。

比如我引用的是jquery-1.11.0.js和jquery-1.5.0.js。

可以看到jQuery.noConflict将变量 $ 的控制权让渡给了1.5.0版本的jQuery库。而要使用1.11.0的版本则要用 $jq() 代替。

但是引入了两个版本的jQuery后,代码很乱,导致别人难以理解甚至误删了一些重要代码怎么办?

改进的方法是:

先直接引用新版的jQuery库。

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

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

Ps:需要检查jQuery的协议是否允许我们把jQuery源码直接嵌入我们自己的JavaScript代码

免责声明:本文来源于博客园,由网友提供或网络搜集,仅供个人研究、交流学习使用,不涉及商业盈利目的。如有版权问题,请联系本站管理员予以更改或删除。优知网会定期发布Web前端相关趋势文章,包括 Web标准 HTML5 CSS JS JQuery Ajax 网页特效 等领域,敬请关注!

分享到
人收藏5 收藏
 
我要评价
相关文章
优就业WEB前端教程-关于jquery跨域请求方法
优就业WEB前端教程-关于jquery跨域请求方法
优就业WEB前端教程-jquery操作复选框(checkbox)的12个小技巧总结
优就业WEB前端教程-jquery操作复选框(checkbox)的12个小技巧总结
优就业 jQuery 教程-jQuery 基础总结
优就业 jQuery 教程-jQuery 基础总结
优就业jQuery教程-jQuery Mobile Slider Widget 使用js控制
优就业jQuery教程-jQuery Mobile Slider Widget 使用js控制
 
 

咨询中心

优就业微信扫一扫
微信扫一扫

400-650-7353

加入官方微博