手机版

加载jQuery后$冲突的解决方案

时间:2021-11-24 来源:互联网 编辑:宝哥软件园 浏览:

在网站开发的javasript部分,现在很少有开发人员手工编写document.getElementById(),所以不太累。你真的不会说getElementById真的很难写,还有相当多的字母是区分大小写的,所以不小心就会出错。因此,通常使用$来实现document.getElemetnById()。复制代码如下: function $(){ varelements=new array();for(var I=0;一、论点.长度;I){ var element=arguments[I];if(type of element==' string ')element=document . getelementbyid(element);if (arguments.length==1)返回元素;elements.push(元素);}返回元素;}微软的ASP.NET Ajax客户端框架也有用$get实现的类似代码。复制代码如下: var $ get=sys . ui . DOM element . getelementbyid=functionsys $ ui $ DOM element $ getelementbyid(id,element){///param name=' id ' type=' String '/param 4.5。///param name=' element ' dommel=' true '可选=' true ' may null=' true '/param 6.7。///返回DOM element=' true ' may null=' true '/返回8.9。var e=函数。_validateParams(参数,[ {name: 'id ',type: String},{name: 'element ',mayBeNull: true,domElement: true,optional : true }]);如果(e)抛出e;if(!元素)返回document . getelementbyid(id);if (element.getElementById)返回element . getelementbyid(id);//在elements: 28.29上没有getElementById的浏览器的实现。var nodeQueue=[];var child nodes=element . child nodes;for(var I=0;i childNodes.lengthI){ var node=child nodes[I];if(node . nodetype==1){ nodeQueue[nodeQueue . length]=node;} } while(Nodequeue . length){ node=Nodequeue . shift();if(node . id==id){ return node;} child nodes=node . child nodes;for(I=0;i childNodes.lengthI){ node=child nodes[I];if(node . nodetype==1){ nodeQueue[nodeQueue . length]=node;} } }返回null}因为jQuery简单美观,更重要的是被微软广泛推广,所以将jQuery引入项目中是自然的,也是必然的。jQuery使用$函数返回一个jQuery对象,即$=jQuery。在引入jQuery之后,不可避免地会出现针对$ symbol问题的冲突,因此主要有两种思路来解决。1.通过使用jquery.noconfift(),使$ $等于jQuery,代码为$$=jQuery.noConflict()。有几件事要做。1.在基于jquery的包含jQuery和javasript的代码文件中添加$ $=jQuery.noconflict(),jQuery的VS智能提示文件(jqueryxx-vsdoc . js)也是最后一个窗口. jQuery=window。$=jQuery也改为window . jquery=window . dollar=jquery;好吧。2.在基于jQuery的插件和扩展文件前面添加$=jquery . noconfiglict();在结尾处加上$ $=jquery . noconfiglict();3.在$的原始实现文件中,在顶部添加jquery . noconfiglict()意味着将$的“力量”赋予我们自己的其他js文件,然后在文件的末尾添加$ $=jQuery.noConflict()。4.注意js引入页面时的顺序,与jQuery相关的文件放在前面,与jQuery无关的文件放在后面。这样做之后,$还是前面的意思,在使用jQuery的时候,就用jQuery或者$ $。优点:你只需要修改几个文件就可以达到目的。缺点:$ $不好用。在介绍jQuery插件时,您需要遵循步骤2一次。第二,替换原来的$。经过考虑,我采用了第二种方法。因为jQuery将在未来的项目中被广泛使用,所以使用$ $或jQuery来编写代码是很尴尬的。考虑到Ajax在ASP.NET的兼容性,最初的$被$get取代。用Visual Studio替代并不难,但还是需要一点台阶。1.首先用$get('替换$('),然后用$get('替换$('),最后用$替换$ get。2.更换时,利用VSS的退房提示功能,逐一进行一定的确认(如果出了问题,也不是小事)。最后出现了一些小问题,在同事的帮助下基本解决了。3.Visual Studio的替换功能真的是干在袖子里。文件中有很多东西需要替换,如下所示。

使用刻度时不要选择正则表达式,因为右边清楚显示的$表示行尾。查看,当然,选择当前项目。当然,按下右边的按钮后,可以选择多个目录来框住反问句。这是以前完全没有用过的。看看这些文件类型你可以选择一些特殊的文件类型来缩小范围。

版权声明:加载jQuery后$冲突的解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。