2011-12-15 37 views
1

我在Jquery Mobile中有一個名爲findclosestLink的函數,它檢查用戶在屏幕上單擊時點擊的內容。jquery - 函數返回「null」 - 如何檢查這個?

是這樣的:

var link = find(findClosestLink(event.target); 

findClosestLink: function (ele) { 
    var self = this; 
    while (ele){ 
    if (ele.nodeName.toLowerCase() == "a"){ 
     break; 
     } 
     ele = ele.parentNode; 
     } 
     console.log(ele); 
     return ele; 
    } 

如果我在屏幕上點擊某處ELE控制檯爲 「空」 和我的變量變成 「[]」。

問題:我該如何檢查這個空的東西「[]」?

所有這些不工作:

if (link == 'null') { console.log("null"); } 
if (link == '') { console.log("empty");} 
if (link == 'undefined') { console.log("undefined"); } 
if (link == []) { console.log("empty object"); } 
if (link == $()) { console.log("empty dings"); } 

感謝您的幫助!

+0

在前面的typeof嘗試。例子`if(typeof link =='null')...' – 2011-12-15 12:52:28

+0

`link == null`怎麼樣? – 2011-12-15 12:58:01

+0

@Tricker - 不起作用 – frequent 2011-12-15 13:01:08

回答

1

你的意思是檢查空數組嗎?使用length屬性:

console.log([].length); // 0 

這樣:

// 0 is 'falsy', so... 
if(!ele.length) { 
    // empty 
} 
0

要解釋我的意見多一點:

if (typeof link == 'null') { console.log("null"); } 
if (link == '') { console.log("empty");} 
if ( typeof link == 'undefined') { console.log("undefined"); } 
if ( typeof link == 'object') { console.log("empty object"); } 

or 

switch(typeof link) { 
    case 'null': 
     console.log('is null'); 
     break; 
    [....] 
}