在jQuery中查找具有特定属性或类的祖先

Gru*_*ber 8 jquery jquery-selectors

我有一个DOM元素elem,它有一个具有类的祖先元素myClass(或者具有某个名称的属性).问题是我需要使用jQuery轻松找到这个祖先.目前,我遇到了丑陋的试错之类的东西

var ancestor = $(elem).parent().parent().parent().parent().parent().parent().parent();
Run Code Online (Sandbox Code Playgroud)

如果HTML代码发生变化,jQuery代码很容易破解.

是否有可能找到更优雅的jQuery代码的祖先元素?

Ror*_*san 13

使用closest(),它将从当前元素遍历DOM,直到找到与您提供的选择器匹配的父元素.

var ancestor = $(elem).closest(".myClass");
Run Code Online (Sandbox Code Playgroud)

文件