使用jQuery查找合适的父项

问题描述:

给定一个DOM元素如何找到具有给定css类的最近父元素?使用jQuery查找合适的父项

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

我不想使用太多或$(...)。父()。父(),因为我不想被绑定到特定的DOM结构。

这应该工作

$(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

使用.parents(".yourClass")而不是.parent()

jQuery parents()

可以使用父母的选择。例如$(".myclass:parent").something();将找到所有具有子类的myclass类的元素。

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

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