检查在.ech()内部使用jQuery.find()时是否未定义

Check if jQuery .find() is undefined when used inside of .each()

本文关键字:find 未定义 jQuery 是否 ech 内部 检查      更新时间:2023-09-26

我正在使用以下脚本运行项目菜单并测量左偏移。我的问题是不是每个元素都包含我要查找的"ul"。我试着通过ul查看并击打家长,但从未正确触发。然后我试着测量了一下长度,但没有成功。我还试着与"未定义"进行比较。我完全被难住了,很可能我在做一些愚蠢的事情,我就是看不到显而易见的事情。

$('#nav ul.nav-tier-2 li').each(function(){
        var leftQ = $(this).find('ul').offset().left;
  //Extra code below
}

HMTL 示例

<nav id="nav">
  <ul class="nav-tier-1">
   <li>
     <a>Link Text</a>
     <ul class="nav-tier-2">
       <li>
         <a></a>
         <ul class="nav-tier-3">
           <li><a> Last link</a></li>
         </ul>
      </li>
    </ul>
  </li>

如果没有HTML结构的示例,这只是猜测,但它将省去额外的搜索并避免不存在的子代UL

注意:第一个选择器更具体(使用>子选择器),以避免包含孙LI。你可能需要调整这是因为你有很多层次。

$('#nav ul.nav-tier-2 > li ul').each(function(){
        var leftQ = $(this).offset().left;
  //Extra code below
});

JSFiddle:http://jsfiddle.net/TrueBlueAussie/7xkdeq16/