Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery检查空选择[]?_Jquery_Events_Jquery Mobile_Event Handling_Click - Fatal编程技术网

如何使用jquery检查空选择[]?

如何使用jquery检查空选择[]?,jquery,events,jquery-mobile,event-handling,click,Jquery,Events,Jquery Mobile,Event Handling,Click,我使用Jquery Mobile中的这个来检查单击的元素是否是链接: function findClosestLink(ele) { var self = this; while (ele){ if (ele.nodeName.toLowerCase() == "a"){ break; } ele = ele.parentNode;

我使用Jquery Mobile中的这个来检查单击的元素是否是链接:

 function findClosestLink(ele) {    
        var self = this;
        while (ele){
            if (ele.nodeName.toLowerCase() == "a"){
                break;
                }
            ele = ele.parentNode;
            }
        return ele;
        }   
它的名字是这样的:

$(document).addEventListener( "click", function( e  ){
        var link = $( findClosestLink(e.target) );
        console.log(link);
        // routine
   });
奎斯顿:
单击屏幕时,函数返回一个空数组[]。我想用电脑检查一下

    if (!link) {
       return;
    }
但这不起作用。如何检查[]

谢谢你的帮助

试试看

if (link.length == 0) { 
     return;
}
如果没有找到链接,那么长度将为0。

试试看

if (link.length == 0) { 
     return;
}

如果未找到链接,则长度将为0。

返回的项目是一个
数组
,因此,必须使用
.length
属性进行检查

if (!link.length) {
    // your stuff
}

返回项是一个
数组
,因此必须使用
.length
属性进行检查

if (!link.length) {
    // your stuff
}

相反,这样做更干净、更容易阅读和理解:

$(document).click(function(e) {
  var $target = $(e.target);
  if($target.is("a")) {
     console.log('link');
  } else {
     // not a link
  }
});

它使用和

相反,它更干净、更容易阅读和理解:

$(document).click(function(e) {
  var $target = $(e.target);
  if($target.is("a")) {
     console.log('link');
  } else {
     // not a link
  }
});

这使用和

冷却。作品你能回答吗?非常感谢。酷。作品你能回答吗?非常感谢。这会更容易,但是Jquery Mobile在链接中隐藏了很多元素,所以我需要从单击的元素向上遍历,在Jquery Mobile中,它通常是span.ui-btn-internal-in-in-a.ui-btn中的span.ui-text。在Jquery 1.7+中,您可以执行:
$(document).on('click',a',function(){……}),它只会捕获对“a”标记的点击。这会更简单,但是Jquery Mobile在链接中隐藏了很多元素,所以我需要从点击的元素向上遍历,在Jquery Mobile中,它通常是span.ui-btn-text在span.ui-btn中,a.ui-btn中。在Jquery 1.7+中,您可以执行:
$(document)。on('click',a',function(){……});和它将只捕获点击“a”标签。