2010-05-08 279 views
0

嗨,我有使用UL和李的列表:jQuery |點擊子,隱藏父

<span class="important">Show/Hide</span> 

<div id="important" class="hidden"> 
    <ul class="sub"> 
    <li> 
      Value one 
     </li> 
     <li class="child"> 
      <img src="../img/close.png" /> 
     </li> 
    </ul> 
</div> 

$(".important").click(function() { 
    $("#important").slideToggle("fast"); 
}); 

當孩子(類=「孩子」)被點擊,就應該向上滑動格(ID =」重要「),然而,有一些具有不同的ID其他列表,我希望孩子被點擊

當我這樣做的股利向上滑動:

$(".child").click(function() { 
    $(".child < div").slideUp("fast"); 
}); 

我不知道如何使它工作,我做了其他組合,似乎無法做到。

回答

3

可以使用.closest()它,像這樣

$(".child").click(function() { 
    $(this).closest("div").slideUp(); 
}); 

這正好從做.child你點擊了最巧妙的<div>祖先和幻燈片起來。如果你可以將孩子和父母之間的其他div的,那麼我建議給<div>想關閉一類,並改變最接近呼籲尋找特定<div>,像這樣:

$(".child").click(function() { 
    $(this).closest("div.classToClose").slideUp(); 
}); 
+0

哇,感謝這個方法:) – Jamie 2010-05-08 15:12:07

0

我認爲你需要「:父母」選擇器,在你的情況下它會是:

$(「。child:parent」)。slideUp(「fast」);

對於其他選擇,請看看: http://api.jquery.com/category/selectors/

1

我會用parent()選擇,這是最好的(我認爲)的方式,使這樣的某物:)