closest() 方法返回被选元素的第一个祖先元素。
祖先是父、祖父、曾祖父,依此类推。
该方法与 parents() 类似,都是向上遍历 DOM 树,不同点是:
closest()
- 从当前元素开始
- 沿 DOM 树向上遍历,并返回匹配所传递的表达式的第一个单一祖先
- 返回包含零个或一个元素的 jQuery 对象
parents()
- 从父元素开始
- 沿 DOM 树向上遍历,并返回匹配所传递的表达式的所有祖先
- 返回包含零个、一个或多个元素的 jQuery 对象
在这个例子中, $("span").closest("span") 指我们查找一个span元素中的第一个span祖先。由于方法从当前元素开始,它将返回一个span,假如我们用parents() 方法替代,它将没有东西返回,因为span的父元素是li