如何检查加载了哪个版本的jQuery?

Luk*_*101 439 jquery

如何检查客户端计算机上加载的jQuery版本?客户端可能已加载jQuery但我不知道如何检查它.如果它们已加载,我如何检查版本和前缀,例如:

$('.class')
JQuery('.class')
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 862

if (typeof jQuery != 'undefined') {  
    // jQuery is loaded => print the version
    alert(jQuery.fn.jquery);
}
Run Code Online (Sandbox Code Playgroud)

  • 有两种方法可以检查当前加载的jquery版本:`jQuery.fn.jquery`和`jQuery().jquery`(shorthands:`$ .fn.jquery`` $().jquery`).我写了关于[**它的详细信息**](http://jquery-howto.blogspot.com/2009/02/how-to-check-jquery-version.html),其中包含指向jquery源代码的链接,如果你'我想深入挖掘. (26认同)
  • undefined的检查应该是`!==` (6认同)
  • 甚至更简单的版本`if(window.jQuery){//加载jQuery =>打印版本alert(jQuery.fn.jquery); }` (2认同)
  • 不要使用`jQuery()。jquery`。它只使用答案说了什么就创建了一个jQuery对象。 (2认同)

JJJ*_*JJJ 30

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

if( typeof jQuery !== 'undefined' ) ... // jQuery loaded
Run Code Online (Sandbox Code Playgroud)

jQuery().jquery 有版本号.

至于前缀,jQuery应该始终有效.如果要使用$,可以将代码包装到函数中并jQuery作为参数传递给它:

(function( $ ) {
    $( '.class' ).doSomething();  // works always
})( jQuery )
Run Code Online (Sandbox Code Playgroud)

  • 如果不知道jQuery,则if(jQuery)将引发异常,并且它将不起作用。 (3认同)
  • 不要使用`jQuery().jquery`。它无缘无故地创建了一个 jQuery 对象。_(复制另一个答案的评论)_ (2认同)

pti*_*tim 18

...只是因为到目前为止尚未提及此方法 - 打开控制台并键入:

$ === jQuery
Run Code Online (Sandbox Code Playgroud)

正如上面提到的@Juhana $().jquery将返回版本号.


Roc*_*e33 15

$.fn.jquery
// If there is concern that there may be multiple implementations of `$` then:
jQuery.fn.jquery
Run Code Online (Sandbox Code Playgroud)

如果你得到一个版本号 - 通常是一个字符串 - 然后加载jQuery,那就是你正在使用的版本.如果没有加载,那么你应该回来undefined,甚至可能是一个错误.

很老的问题,我看到一些人已经在评论中提到了我的答案.但是,我发现有时作为评论留下的好答案可能会被忽视; 特别是当对答案有很多评论时,你可能会发现自己正在挖掘他们寻找宝石的成堆.希望这可以帮助别人!


Mar*_*son 14

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

if (window.jQuery) {
    // jQuery is available.

    // Print the jQuery version, e.g. "1.0.0":
    console.log(window.jQuery.fn.jquery);
}
Run Code Online (Sandbox Code Playgroud)

http://html5boilerplate.com和其他人使用此方法.


小智 5

我的偏好是:

console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")
Run Code Online (Sandbox Code Playgroud)

结果:

jQuery 1.8.0已加载