2011-07-02 26 views
2

我需要檢查對象是否對DOM相同的ID,因爲我想創建一個模式窗口庫,jquery返回一個不存在的id或class的值?

問題是在瀏覽器控制檯時,我寫

$("#anonexistingid"); 

返回[]

,但在我的代碼

if($("#"+id)!==[]){ 
     return; 
    } 

是行不通的。什麼是定義一個空陣列的正確方法?(因爲我認爲[]意味着空陣列,也許不是我不確定:D)

+0

對於最後一部分感到抱歉:D – gkaykck

+1

在任何情況下,兩個對象只有相同(相同)才相等。即使'[] == []'返回'false'。 –

回答

9

JQuery總是返回一個對象。你可以檢查它的長度,看它是否爲空:

if($("#"+id).length !== 0){ 

} 
+0

我們需要那個!== 0,.length應該是好的。 – kobe

+0

@ kobe:是的,但它更明確,可以更容易理解。 ('> 0'會更好imo。) –

+0

@felix,謝謝 – kobe

4

[]是一個空數組。爲了測試是否爲空,嘗試:

if($("#"+id).length) { 
    //Element is found 
} 
0

你可以使用size() method

if($("#"+id).size() > 0){ 
     return; 
    } 

該方法通過$返回匹配元素的數量。

希望這會有所幫助。乾杯