2014-01-23 52 views
1
<ul class="main-menu"> 
    <li> 
     <a href="domain.com/host">Host</a> 
     <ul class="sub-menu nav"> 
      <li> 
       <a href="domain.com/host/party">Party</a> 
      </li> 
     </ul> 
    </li> 
</ul> 

$('.main-menu li a').each(function(ev){ 
     var name = $(this).text(); 
     console.log(name); 
    }); 

上面的代码同时列出HostParty当所有我想要的是HostjQuery的每个菜单项,但不从子菜单项

jsFiddle

回答

2

您可以使用>用于选择与特定元素父母,它只能看到标记结构的一个级别,没有更深。

$('.main-menu>li>a').each(function(ev){ 
     var name = $(this).text(); 
     console.log(name); 
}); 

Fiddle

有关CSS选择器的详细信息,请访问here

1
$('.main-menu > li > a').each(function(ev){ 
     var name = $(this).text(); 
     console.log(name); 
    }); 

添加的>是你所需要的 - 这只是表明直接后裔。它被称为child selector

1

您可以使用父子代替祖先后代。

Live Demo

$('.main-menu > li > a').each(function(ev){ 
    var name = $(this).text(); 
    console.log(name); 
}); 
0

使用child-selector

$('.main-menu>li>a').each(function(ev){ 
//code here 
});