closest()方法返回所选元素的第一个祖先。
closest()方法从当前元素一直向上遍历,一直到文档的根元素(<html>),以找到DOM元素的第一个祖先。
closest()和parents()方法是相似的,因为它们都遍历DOM树。区别如下:
closest()
从当前元素开始
向上移动DOM树,直到找到与提供的选择器匹配的对象
返回的jQuery对象按文档顺序为原始集中的每个元素包含零个或一个元素
parents()
从父元素开始
在DOM树中浏览到文档的根元素,将每个祖先元素添加到一个临时集合中;然后,如果有选择器,则根据选择器过滤该集合
返回的jQuery对象包含原始集合中每个元素的零个或多个元素(以相反的文档顺序)
返回所选元素的第一个祖先:
$(selector).closest(selectorExpression)
使用DOM上下文返回第一个祖先,以在其中查找DOM树:
$(selector).closest(selectorExpression, context)
返回<span>的第一个祖先,即<div>元素:
p(直接父级) span
参数 | 描述 |
---|---|
selectorExpression | 指定选择器表达式,元素或jQuery对象以匹配元素 |
context | (可选)可以在其中找到匹配元素的DOM元素 |