jQuery 1.3新增。从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素。
closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery对象。
closest对于处理事件委派非常有用。
用以过滤元素的表达式
展示如何使用clostest来完成事件委派。
<ul>
<li><b>Click me!</b></li>
<li>You can also <b>Click me!</b></li>
</ul>
$(document).bind("click", function (e) {
$(e.target).closest("li").toggleClass("hilight");
});