使用jQuery查找第一个祖先是一个具有特定类的对象的子代

时间:2014-11-26 16:32:15

标签: javascript jquery

我正在寻找一种正确的方法来查找元素的第一个祖先是一个具有特定类的元素的子元素。

使用XPath表示法我正在寻找(如果我没有做到这一点):

./ancestor::*[../@class='my_class']

我想我可以运行一个while(...)循环调用parent(),直到当前元素parent指定了class并从那里开始,但也许在jQuery中有一些选择器/过滤器/可以用来代替?

4 个答案:

答案 0 :(得分:1)

如果我理解正确的话,那么在你用'.my_class'击中祖先之前,你正试图在上升时找到最后一个祖先:

$(element).parentsUntil('.my_class').last()

See documentation.

答案 1 :(得分:0)

在jquery中找到一个具有特定类的孩子:

$("mycontrol").find(".myclass");

查找具有特定类的父级:

$("mycontrol").closest(".myclass"); //return the first parent

答案 2 :(得分:0)

也许

jQuery(".my_class").parent().eq(0)

如果我有这个权利..第一个父类是具有类“my_class”的元素的子元素:

答案 3 :(得分:0)

找到类.my-class的所有元素并获取其子集,然后使用.closest() 在你的jQuery对象上,将其设置为参数。

$('myElementSelector').closest($('.my-class').children())

我认为应该这样做......