是否有内置的jQuery方法可以找到最接近另一个元素的dom元素?我的意思是最接近的 - 最小的相对路径长度(例如XPath)从一个到另一个。
考虑以下示例(来自Twitter Bootstrap的下拉框)。有一个下拉图标 - 带有.JS-ACTIONS
的元素和一组链接 - 带有.JS-DELETE
的元素,当其中一个链接点击下拉图标上的进度条时,应该启用。
<div class='btn-group'>
<a href='#' class='btn dropdown-toggle JS-ACTIONS' data-toggle='dropdown'>
<i class='icon-cog'></i>
<span class="caret"></span>
</a>
<ul class='dropdown-menu pull-right'>
<li><a href='#' class='JS-DELETE'>Delete</a></li>
</ul>
</div>
一种方法,使用
之类的东西 $(element.currentTarget).parent().parent().find('.JS-ACTIONS').showProgress()
但我希望JavaScript与DOM结构不同,例如
$(element.currentTarget).nearest('.JS-ACTIONS').showProgress()
jQuery中有这样的方法吗?
更新
jQuery的closest
方法不起作用,它只在父母中搜索,不在兄弟姐妹和父母的其他孩子中搜索。