如何检查什么版本的jQuery加载?

如何检查在客户机上加载了哪个版本的jQuery? 客户端可能有jQuery加载,但我不知道如何检查它。 如果他们有它加载我如何检查版本和前缀,如:

$('.class') JQuery('.class') 
 if (typeof jQuery != 'undefined') { // jQuery is loaded => print the version alert(jQuery.fn.jquery); } 

你可以检查jQuery对象是否存在:

 if( typeof jQuery !== 'undefined' ) ... // jQuery loaded 

jQuery().jquery的版本号。

至于前缀, jQuery应该始终工作。 如果你想使用$你可以把你的代码包装到一个函数中,并将jQuery作为parameter passing给它:

 (function( $ ) { $( '.class' ).doSomething(); // works always })( jQuery ) 

…只是因为这个方法至今没有被提及 – 打开控制台并input:

 $ === jQuery 

作为@Juhana上面提到的$().jquery将返回版本号。

我发现这是检查jQuery是否被加载的最简单的方法:

 if (window.jQuery) { // jQuery is available. // Print the jQuery version, eg "1.0.0": console.log(window.jQuery.fn.jquery); } 

这个方法被http://html5boilerplate.com和其他人使用。;

我的偏好是:

 console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded") 

结果:

jQuery 1.8.0加载

您应该实际上将其包装在IE的try / catch块中:

 // Ensure jquery is loaded -- syntaxed for IE compatibility try { var jqueryIsLoaded=jQuery; jQueryIsLoaded=true; } catch(err) { var jQueryIsLoaded=false; } if(jQueryIsLoaded) { $(function(){ /** site level jquery code here **/ }); } else { // Jquery not loaded } 
 $.fn.jquery 

如果你得到一个版本号 – 通常是一个string – 然后jQuery被加载,这是你正在使用的版本。 如果没有加载,那么你应该回到undefined ,甚至可能是一个错误。

很老的问题,我已经看到一些已经在评论中提到我的答案的人。 但是,我发现有时留下评论的好的答案可能会被忽视; 特别是当有很多评论的答案,你可能会发现自己挖一堆,寻找一个gem。 希望这可以帮助别人!

 if (jQuery){ //jquery loaded } 

…..