JQuery - функция возвращает «ноль» - как это проверить? - PullRequest
1 голос
/ 15 декабря 2011

У меня в Jquery Mobile есть функция findclosestLink, которая проверяет, что нажимается, когда пользователь нажимает на экран.

Похоже на это:

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

Если я щелкну где-нибудь вscreen 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"); }

Спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 15 декабря 2011

Вы имеете в виду проверку на пустой массив? Используйте свойство length:

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

так:

// 0 is 'falsy', so...
if(!ele.length) {
    // empty
}
0 голосов
/ 15 декабря 2011

Чтобы объяснить мой комментарий немного больше:

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;
    [....]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...