jQuery
在引入多个js框架后,怎样解决$冲突问题?(conflict)
Jquery和其他js库一起引入,谁写在后面$定义谁;要想并存有如下四种解决方案:
方法1:使用JQuery.noConflict():放弃对$的使用权,$用自己的全称(jquery)替换。
方法2:自定义JQuery的别名:var $j = jquery noconflict()。
方法3:使用语句块,在语句块中仍然使用jquery.js中定义的$:
JQuery(document).ready(function($){
$('#msg').hide()});
//此时在整个ready事件的方法中使用的$都是jquery.js中定义的$
方法4:(function($){
.....
$('#msg').hide()})(JQuery)
//此时在这个语句块中使用的都是jquery.js中定义的$.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <p id="p">tz</p> </body> <script src="../../jQuery2/protool.js"></script> <script src="../../jQuery2/jquery-3.1.1.js"></script> <script> // 方法1: jQuery.noConflict(); jQuery("#p").hide(); /*方法2:*/ var $j = jQuery.noConflict(); $j("#p").hide(); /*方法3:*/ jQuery(document).ready(function($){ $("p").hide(); }); /*方法3:*/ (function($){ $("#p").hide(); })(jQuery); </script> </html>