我正在做一些非常基础的jQuery工作,真的是入门,而且我经常通过做如下的事情来浏览dom
$(this).parent().parent().addClass('hello');我只是想知道有没有更好的方法?
发布于 2011-09-15 19:20:09
您可以使用parents,它会依次返回所有祖先元素。如果要在特定级别停止遍历,请使用eq过滤结果集合。例如,要获取祖父母:
// 0 = parent, 1 = parent of parent, etc.
$(this).parents().eq(1).addClass('hello');如果您想向上遍历树并不在特定级别停止,而是在特定选择器匹配处停止,请改用closest,例如:
$(this).closest("table").addClass('hello');发布于 2011-09-15 19:20:15
您可以使用closest()方法,该方法返回祖先链中与给定选择器匹配的第一个元素。
$(this).closest(SELECTOR_OF_THE_PARENT).addClass('hello')发布于 2011-09-15 19:20:22
假设您有以下HTML:
<div>
<span>
<strong>Hi there</strong>
</span>
</div>您可以只使用.parents()来获取div元素:
$("strong").parents("div").addClass("hello");只需将"strong"替换为this,您就可以使用选择器来查找特定的父元素。
https://stackoverflow.com/questions/7429923
复制相似问题