1.替换选择器函数javascript
将原程序中的:html
function $(id) {java
return document.getElementById(id);jquery
}函数
替换为:spa
function $(id) {htm
if (typeof jQuery == 'undefined' || (typeof id == 'string' && document.getElementById(id))) {对象
return document.getElementById(id);ip
} else if (typeof id == 'object' || !/^\w*$/.exec(id) ||
/^(body|div|span|a|input|textarea|button|img|ul|li|ol|table|tr|th|td)$/.exec(id)){开发
return jQuery(id);
}
return null;
}
作一个兼容,对于之前直接用字符串ID的调用依旧使用document.getElementById(id)去获取DOM对象;而若是传入的ID是对象,或者里面有特殊符号(如 # . : ^ 等 jQuery 选择器符号)或者是经常使用的html标签,就使用jQuery选择器去获取jQuery对象。
2.须要先加载jquery的库,而后加载声明这个兼容的 $ 函数的js文件,以覆盖掉jquery的 $ 函数。
<script language="javascript" type="text/javascript" src="source/script_jquery.js"></script>
<script language="javascript" type="text/javascript" src="source/script_common.js"></script>
…………
假若有个TAG的ID是'ctrl_with_id',使用 $('ctrl_with_id') 取得的是DOM的对象,使用$('#ctrl_with_id')可取得jQuery对象,互相不会冲突。
如此,原来程序中的 $ 函数依旧工做,并且同时能够使用 $ 做为jQuery的选择器。
这么解决冲突,暂时还未发现问题。
后续有不少开发填坑的文章发布,若是对你有帮助,请支持和加关注一下