2008-12-18 40 views
16

給定一個DOM元素如何找到具有給定css類的最近父元素?使用jQuery查找合適的父項

$(".editButton").click(function() { 
    (magic container selector goes here).addClass("editing"); 
}); 

我不想使用太多或$(...)。父()。父(),因爲我不想被綁定到特定的DOM結構。

回答

31

這應該工作

$(this).parents('.classYouWant:first').addClass("editing"); 
+1

我不認爲所有的jQuery功能實際上都會返回一個列表。如果是這樣,你可能想做$(this).parents('。classYouWant:first')(嘗試它!) – Jennifer 2008-12-18 15:24:54

+0

@Jennifer:你是對的,如果元素有超過1個父母,它將設置編輯爲所有他們。你應該已經發布了一個答案。我會接受它。 – 2008-12-18 15:30:34

+0

所以:首先,在本例中,使用.classYouWant獲取與$(this)最近的父代?所以工作它的方式在DOM? – 2008-12-18 18:33:53

2

可以使用父母的選擇。例如$(".myclass:parent").something();將找到所有具有子類的myclass類的元素。

11
$(this).closest('.yourselector') 

正如名字所示,找到最接近的祖先爲this元素。