Luke101
Luke101

Reputation: 65298

How to check what version of jQuery is loaded?

How do I check which version of jQuery is loaded on the client machine? The client may have jQuery loaded but I don't know how to check it. If they have it loaded how do I check the version and the prefix such as:

$('.class')
JQuery('.class')

Upvotes: 569

Views: 558305

Answers (13)

Darin Dimitrov
Darin Dimitrov

Reputation: 1039438

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

Upvotes: 1051

With optional chaining operator (?.) this can be done with window.jQuery?.fn?.jquery. This one liner also works if jQuery isn't loaded at all.

Upvotes: 3

Rockin4Life33
Rockin4Life33

Reputation: 2405

My goto means to determine the version:

$.fn.jquery

Another similar option:

$().jQuery

If there is concern that there may be multiple implementations of $ — making $. ambiguous — then use jQuery instead:

jQuery.fn.jquery

Recently I have had issues using $.fn.jquery and $().jQuery on a few sites so I wanted to note a third simple command to pull the jQuery version.

If you get back a version number — usually as a string — then jQuery is loaded and that is what version you're working with. If not loaded then you should get back undefined or maybe even an error.

Pretty old question and I've seen a few people that have already mentioned my answer in comments. However, I find that sometimes great answers that are left as comments can go unnoticed; especially when there are a lot of comments to an answer you may find yourself digging through piles of them looking for a gem. Hopefully this helps someone out!

Upvotes: 46

Mark
Mark

Reputation: 1

Maybe self explanatory, but simplest method I have found is looking at the version commented in the actual file (typically jquery.min.js). Alternatively,if something like code.jquery.com is used, version number is in https reference (ie https://code.jquery.com/jquery-1.11.3.js).

enter image description here

Upvotes: -1

David White
David White

Reputation: 656

In one line and the minimum of keystrokes (oops!):

alert($().jquery);

Upvotes: 4

Suman Koirala
Suman Koirala

Reputation: 31

Go to the developer's Tool > console and write one of the following command jQuery.fn.jquery console.log(jQuery().jquery);

Upvotes: 2

aniban
aniban

Reputation: 709

As per Template monster blog, typing, these below scripts will give you the version of the jquery in the site you are traversing now.

 1. console.log(jQuery.fn.jquery);
 2. console.log(jQuery().jquery);

Upvotes: 1

sshel207
sshel207

Reputation: 111

My preference is:

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

Result:

jQuery 1.8.0 loaded

Upvotes: 7

Markus Amalthea Magnuson
Markus Amalthea Magnuson

Reputation: 8751

I have found this to be the shortest and simplest way to check if jQuery is loaded:

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

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

This method is used by http://html5boilerplate.com and others.

Upvotes: 18

ptim
ptim

Reputation: 15607

…just because this method hasn't been mentioned so far - open the console and type:

$ === jQuery

As @Juhana mentioned above $().jquery will return the version number.

Upvotes: 19

JJJ
JJJ

Reputation: 33153

You can just check if the jQuery object exists:

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

jQuery().jquery has the version number.

As for the prefix, jQuery should always work. If you want to use $ you can wrap your code to a function and pass jQuery to it as the parameter:

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

Upvotes: 37

genesis
genesis

Reputation: 50982

if (jQuery){
   //jquery loaded
}

.....

Upvotes: -3

SeanCannon
SeanCannon

Reputation: 78006

You should actually wrap this in a try/catch block for IE:

// 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
}

Upvotes: 3

Related Questions