jQuery - 是否有比"parent().parent().parent()"更好的语法

Cor*_*ial 3 javascript syntax jquery

我正在做一些相当基本的jQuery的东西,真的开始,我经常通过做像这样的事情来导航dom

$(this).parent().parent().addClass('hello');
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有更好的方法来做到这一点?

Jon*_*Jon 8

您可以使用parents,它依次返回所有祖先元素.如果要在特定级别停止遍历,请使用eq过滤生成的集合.例如,要获得祖父母:

// 0 = parent, 1 = parent of parent, etc.
$(this).parents().eq(1).addClass('hello');
Run Code Online (Sandbox Code Playgroud)

如果你想向上穿过树并停在特定的水平,但在特定的选择器匹配,请使用closest,例如:

$(this).closest("table").addClass('hello');
Run Code Online (Sandbox Code Playgroud)