2012-12-18 25 views
0

我想讓jquery只在特定的#id或.class可用時才能使用。我想知道哪一個是正確的?請幫助...謝謝使用jQuery檢查元素是否存在

if($().flexslider) { 
//do something 
} 

or 

if ($('#flexslider').length && jQuery().flexslider) { 
//do something 
} 
+0

你爲什麼不試試? –

回答

2

safely使用長度,以確定是否DOM元素exists

if ($('#flexslider').length) //For item with id flexslider 

if ($('.classname').length) //For item with class classname 

要檢查如果你想確保元素存在函數存在

if ($.isFunction(window.yourFunName))  //with jQuery 

if(typeof(callback) == "function")   //with javascript 
0

,並flexslider插件加載,做後者:

if ($('#flexslider').length && jQuery().flexslider) { 
    //do something 
} 

如果你在想要檢查元素是否存在,請執行以下操作:

if($('#flexslider').length) { 
    //do something 
} 
0

大部分情況下,正確的觀察者都會看到它。通常有多種方法可以解決問題。如果要檢查綁定函數的存在和DOM節點的存在,則需要在ready函數之後捕獲這兩個函數,並比較typeof變量以查看它是否爲真。

$(function(){ 
    if($('#flexslider').length && typeof flexslider == 'function'){ 

    } 
});