2016-04-18 48 views
1

我正在使用可摺疊塊的小系統上 - 這個我有打開或關閉取決於jQuery的扶養一個CSS類。爲什麼不jQuery的最接近工作

我使用的代碼是:

$("#click_me").on("click", function() { 
    $("#clicked_action").toggleClass("show"); 
}); 

而這個工作,但不是所需要的。需要的是:

$(".collapse-header").on("click", function() { 
    $(this).closest(".collapse-body").toggleClass("show"); 
}); 

但這不起作用。

我沒有得到任何控制檯錯誤,所以任何幫助apprecated

編輯 HTML值:

<div class="collapse-header" id="click_me"> 
    <span class="float-left">Click me</span> 
    <span class="float-right"><span class="glyphicon glyphicon-plus"></span></span> 
    <hr class="hr" /> 
</div> 
<div class="collapse-body" id="clicked_action"> 
    I'm collapsed 
</div> 
+2

哪裏是HTML結構? – ps2goat

+0

我認爲你需要像'$(本).parent()。找到( 「坍塌體」)' –

+0

@ ps2goat,添加HTML –

回答

4

您正在尋找

$(this).parent().find(".collapse-body") 

關於.closest

$(element).closest(selector)是要找到匹配選擇器在元素的祖先遍歷的第一個元素。

在你的情況,你的元素是在同一水平(「兄弟姐妹」),以便.closest不起作用。

+1

'$(this).next(「。collapse-body」)'也可以工作 – dave