2013-07-29 101 views
1

我的代碼是這樣的在jquery中獲取父div的最佳方式是什麼?

<div class="a"> 
    <div class="b"> 
      <a class="c" href="#"><span class="d"></span></a> 
    </div> 
</div> 

和js代碼是這樣的

$(".d").click(function(){ 
    var aClass = $(this).parent().parent().parent(); // to get class "a" 
}); 

有沒有更好的方式來捕捉類?

+1

嘗試最接近的http:// API .jquery.com/closest/ –

+0

parents()返回匹配元素的數組,closets()返回直接匹配的祖先。 –

+2

通常建議使用'parents()'。這將遍歷DOM層次一直到文檔的根目錄,這通常是不必要的,而且如果你的選擇器不夠精確,那麼你遇到了麻煩。正如@SnowBlind所建議的那樣,「最接近()」是最好的選擇,因爲遍歷將在第一場比賽結束。 – UweB

回答

-1
$(".d").click(function(){ 
    var aClass = $(this).parents(".a"); // to get class "a" 
}); 

使用。家長()

-1

你可以做,如果你知道類

$(this).parents('.a'); 

$(this).parents('div:eq(1)'); 
+0

有人剛剛得到125代表我想:) –

3

如果要向上遍歷樹,直到一定的條件得到滿足,你想.closest()

$(this).closest('.a'); // find first predecessor with class a 
-1

什麼$(this).parents(".a")

相關問題