2011-03-08 162 views
1

我有一個側導航導入完整的網站導航,我想把它切成只有當前部分的子鏈接。結構是這樣的:在jQuery中選擇孩子的孩子

<div class="sidebarLinks"> 
<ul> 
    <li> <!-- MAIN NAV SECTION --> 
     <a href="#" id="MainA">MainA</a> 
    </li> 
    <li> <!-- MAIN NAV SECTION --> 
     <a href="#" id="MainB">MainB</a> 
     <ul> 
      <li><a href="#" id="B-A">B-A</a></li> 
      <li><a href="#" id="B-B">B-B</a></li> 
      <li><a href="#" id="B-C">B-C</a></li> 
     </ul> 
    <li> 
    <li> <!-- MAIN NAV SECTION --> 
     <a href="#" id="MainC">MainC</a> 
     <ul> 
      <li><a href="#" id="C-A">C-A</a></li> 
      <li><a href="#" id="C-B">C-B</a></li> 
      <li><a href="#" id="C-C">C-C</a></li> 
     </ul> 
    <li> 
</ul> 
</div> 

所以,如果我在B-A,我希望看到B-A,B-B和B-C在一旁導航,但不MainB或任何其他鏈接。我試過以下,但它返回各主要導航部分開始的第二個孩子(B-B,C-B等):

$(".sidebarLinks ul li:nth-child(2)").children().show(); 

任何提示都大加讚賞。謝謝。

回答

3
$(".sidebarLinks > ul > li:nth-child(2) > *").show(); 

jQuery child selector是「>」字符。你也可以用「> *」將調用保存到.children()中,因爲它會得到任何第n個元素的子元素。

+0

感謝您的回覆,鸚鵡。我沒有想過用「*」來引用所有的孩子。我得到它的工作: '$(「。sidebarLinks ul li:nth-​​child(3)li」)。children()。show();' 這也工作: '$(「。sidebarLinks> ul> li:nth-​​child(2)li> *「)。show();' 感謝您的幫助。 – Jeremy 2011-03-10 14:59:10