Javascript jquery在dom中最近的元素(模糊搜索)
是否有内置的jQuery方法允许查找距离另一个元素最近的dom元素?我所说的最近是指从一个到另一个的相对路径(例如XPath)的最小长度 考虑以下示例(Twitter引导中的下拉框)。有下拉图标-element withJavascript jquery在dom中最近的元素(模糊搜索),javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,是否有内置的jQuery方法允许查找距离另一个元素最近的dom元素?我所说的最近是指从一个到另一个的相对路径(例如XPath)的最小长度 考虑以下示例(Twitter引导中的下拉框)。有下拉图标-element with.JS-ACTIONS和一组链接-element with.JS-DELETE,单击其中一个链接时,应启用下拉图标上的进度栏 <div class='btn-group'> <a href='#' class='btn dropdown-toggle JS-
.JS-ACTIONS
和一组链接-element with.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)。最近('.JS-ACTIONS')。showProgress()
jQuery中有这样的方法吗
更新
jQuery的最近的方法不起作用,它只搜索父对象,不搜索父对象的兄弟姐妹和其他子对象。您可能需要:
对于集合中的每个元素,获取与
通过测试元素本身并向上遍历其
DOM树中的祖先
您需要使用它,它使您在祖先的层次结构中第一次出现匹配的元素
$(element.currentTarget).closest('.JS-ACTIONS')
最近的
搜索不是只在父母中进行,而没有进入父母的其他子女吗?我相信这是正确的。如果你想要父母或兄弟姐妹之间的最近距离,你可能需要一些定制的东西。说真的,你猜了.nearest()
,但在谷歌上找不到.nearest()
。。这里的最近距离只与名字有关,jQuery喜欢保持名称简短,因此它不被称为.closestItselfOrAnyParent
,而这正是最近的
实际上所做的,它本身与OP的问题无关
$(element.currentTarget).closest('.JS-ACTIONS')