2010-01-26 65 views
2

我在爲父客戶端導航點擊父窗體時製作了一個嵌套的ul向下滑動窗口,因此父鏈接被停用並返回false。但是,返回false也會關閉子鏈接,我該如何避免這種情況?如何使嵌套鏈接再次處於活動狀態?

$("li.page_item a:first-child").click(function() { 

    //select it's direct sub ul 
    var subnav = $(this).next(); 
    //other subnavs 
    var navsibling = $(this).parent().siblings('li').children('ul'); 

    //hide siblings subnav 
    if (navsibling.is(":open")) { 
     navsibling.slideUp("slow"); 
    } 

    // check to see if sub is hidden, open if it is, close if it isn't 
    if (subnav.is(":hidden")) { 
     subnav.slideDown("slow"); 
    } else { 
     subnav.slideUp("slow"); 
    }  

    // stop the top level link from linking 
    return false;  

}); 

我認爲使用a:first-child只適用於返回false的具體a,而不是它的任何兄弟的孩子......建議?

編輯:這是一個列表頁小工具在WordPress,基本標記是這樣的:

<ul> 
    <li class="page_item"><a href="">Link</a> 
     <ul> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
     </ul> 
    </li> 
    <li class="page_item"><a href="">Link</a> 
     <ul> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
     </ul> 
    </li> 
</ul> 
+0

可能是你應該告訴我們你的UL滑下爲的HTML代碼更好地理解問題 – poh 2010-01-26 05:36:22

回答

2

嘗試

$("li.page_item").children("a:first-child").click(function() { 
+1

或等價地,'$('li.page_item> a:first-child')' – 2010-01-26 06:18:08

相關問題