2011-04-22 26 views
1

我有嵌套的無序列表裏面像下面一個無序列表:在一系列的類選擇最後<a>

<ul id="menu"> 
    <li><a href="#">Event Overview</a> 
     <ul class="sub-menu"> 
      <li><a href="#">Some Text Here</a></li> 
      <li><a href="#">Some Text Here</a></li> 
      <li><a href="#">Some Text Here</a></li> 
     </ul> 
    </li> 
    <li><a href="#">About</a> 
     <ul class="sub-menu"> 
      <li><a href="#">Some Text Here</a></li> 
      <li><a href="#">Some Text Here</a></li> 
     </ul> 
    </li> 

    <li><a href="#">Blog</a> 
     <ul class="sub-menu"> 
      <li><a href="#">Some Text Here</a></li> 
      <li><a href="#">Some Text Here</a></li> 
      <li><a href="#">Some Text Here</a></li> 
     </ul> 
    </li> 

    <li><a href="#">Contact</a> 
     <ul class="sub-menu"> 
      <li><a href="#">Some Text Here</a></li> 
      <li><a href="#">Some Text Here</a></li> 
      <li><a href="#">Some Text Here</a></li> 
     </ul> 
    </li> 

</ul> 

,我需要選擇最後<a>內的<ul class="sub-menu">

我會假設該選擇器將是$(".sub-menu a:last")但這隻會選擇絕對最後一個。我需要它用一類子菜單在每個無序列表中選擇最後一個。

謝謝!

回答

3

使用此:

$('.sub-menu li:last-child a') 

選擇包含在最新li孩子的
每個.sub-menu元素a

你不想選擇a:last-child因爲每a是其li元素的最後一個和唯一的孩子。

你也不希望選擇a:lastli:last除非你iterate through it as John Hartsock says,因爲:last挑選的最後一個元素在整個jQuery的DOM元素設置

+0

是的,這非常有意義,感謝您的回答! – JCHASE11 2011-04-22 17:21:48

1
$("ul.submenu").each(function() { 
    $("a:last", this) // this will select the last a in each submenu 
}); 
0
$(function() { 
    $('.sub-menu').each(function() { 
     $('li:last a', this) // do stuff 
    }); 
}); 

添加的是如何工作的一個小提琴:http://jsfiddle.net/mzyx3/

相關問題