jquery和其他js库的冲突解决方式
问题的原因是$符号已经被其他的js库预先定义了,在jquery中,$失去了原本预定义的含义。
<script language="javascript" type="text/javascript" src="/js/datepicker/WdatePicker.js"></script> <script src="/js/jquery.js" type="text/javascript"></script> <script language="JavaScript" type="text/JavaScript"> jQuery.noConflict(); </script>
运行这个函数将变量$的控制权让渡给第一个实现它的那个库。
这有助于确保jQuery不会与其他库的$对象发生冲突。
在运行这个函数后,就只能使用jQuery变量访问jQuery对象。
例如,在要用到$("div p")的地方,就必须换成jQuery("div p")。
注意:这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库之前使用。
当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的。
jQuery.noConflict(); // 使用 jQuery jQuery("div p").hide(); // 使用其他库的 $() $("content").style.display = 'none';
还有一种写法,创建一个新的别名用以在接下来的库中使用jQuery对象:
var j = jQuery.noConflict(); // 基于 jQuery 的代码 j("div p").hide(); // 基于其他库的 $() 代码 $("content").style.display = 'none';