2015-12-08 28 views
0

我開了帖子裏我要求與jQuery代碼幫助: How to find the closest event element如何找到最接近的事件element2中

不幸的是,其他用戶沒有看過我的問題。

我有一個鏈接。點擊它會顯示/切換div。我的問題是我的div並不總是與A鏈接位於同一層。有時候A鏈接在隱藏DIV上是1級。有時它是2級或更多。有時它低於它

我怎麼能找到最接近的DIV,包含類「.hidebox」,到A鏈接?

<a href="#" class="hideBox-tab " >show div</a> 

$(".hideBox-tab").click(function(){ 
    $(this) 
     .parent().parent() 
     .find(".hideBox") 
     .toggle(); 
    return false; 
}); 
+2

爲什麼「可能」? @ColBeseder – Roi

+0

你可以發佈html的例子嗎? –

+0

@RenanAraújo。沒有。因爲每次看起來都不一樣...... – Roi

回答

0

如果你和一個<a>顯示/切換div<a>必須div外:

<a href="#" class="hideBox-tab">toggle and show div</a> 
<div class="hideBox"> 
    Content here 
</div> 

然後,你需要在你的HTML找到一個標記,八方通englobes a.hideBox-tabdiv.hideBox。 例如:div.partial-content

<div class="partial-content"> 
    <a href="#" class="hideBox-tab">toggle and show div</a> 
    <div class="hideBox"> 
    Content here 
    </div> 
</div> 

而且你的JS會是這樣:

$(".hideBox-tab").click(function(){ 
    $(this).closest(".partial-content").find(".hideBox").toggle(); 
}); 

我創建了一個片段,看看它:

$(".hideBox-tab").click(function(){ 
 
    $(this).closest(".partial-content").find(".hideBox").toggle(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="partial-content"> 
 
    <a href="#" class="hideBox-tab">toggle and show div</a> 
 
    <div class="hideBox"> 
 
    Content here 
 
    </div> 
 
</div> 
 

 
<div class="partial-content"> 
 
    <a href="#" class="hideBox-tab">toggle and show div</a> 
 
    <div> 
 
    <div class="hideBox"> 
 
     Content 2 here 
 
    </div> 
 
    </div> 
 
</div>

這解決方案適用於a.hideBox-tab和之間的一個或多個級別。

+0

謝謝,由於不工作。點擊A鏈接不會顯示DIV。我如何顯示給你? – Roi

+0

我也創建了一個片段。看看我更新的答案 –