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

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

当前回答

if (jQuery){
   //jquery loaded
}

其他回答

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

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

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

http://html5boilerplate.com和其他公司使用了这种方法。

你应该在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
}

我的偏好是:

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

结果:

jQuery 1.8.0加载

只是因为这个方法到目前为止还没有提到-打开控制台并键入:

$ === jQuery

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

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

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

jQuery()。Jquery有版本号。

至于前缀,jQuery应该总是有效的。如果你想使用$,你可以将你的代码包装到一个函数中,并将jQuery作为参数传递给它:

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