原标题:closest(expr|object|element)
closest(expr|object|element)
概述
jQuery 1.3新增。从元素自身开端,逐级向上级元素匹配,并回来最早匹配的元素。。
closest会首要查看其时元素是否匹配,假设匹配则直接回来元素自身。假设不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。假设什么都没找到则回来一个空的jQuery目标。
closest和parents的首要区别是:1,前者从其时元素开端匹配寻觅,后者从父元素开端匹配寻觅;2,前者逐级向上查找,直到发现匹配的元素后就中止了,后者一向向上查找直到根元素,然后把这些元素放进一个暂时调集中,再用给定的选择器表达式去过滤;3,前者回来0或1个元素,后者或许包括0个,1个,或许多个元素。
closest关于处理事情托付十分有用。
.closest( selectors [, context ] )办法从 jQuery 1.7 开端,不再主张运用该办法,可是 jQuery 1.7 之前依然能够正常的运用。该办法将大多数都用在 jQuery 内部或插件作者运用。
参数
exprString,ArrayV1.3
用以过滤元素的表达式。jQuery 1.4开端,也能够传递一个字符串数组,用于查找多个元素。
expr,[context]StringV1.4
expr:用以过滤子元素的表达式
context:DOM元素在其中一个匹配的元素能够被发现。假设没有上下文在其时的情况下通过了jQuery设置将被运用。
jQuery object objectV1.6
一个用于匹配元素的jQuery目标
elementDOMElementV1.6
一个用于匹配元素的DOM元素。
示例
描绘:
展现怎么运用closest查找多个元素
HTML 代码:
<ul><li></li><li></li></ul>
jQuery 代码:
$("li:first").closest(["ul", "body"]);
成果:
[ul, body]
描绘:
展现怎么运用closest来完结事情托付。
HTML 代码:
<ul>
<li><b>Click me!</b></li>
<li>You can also <b>Click me!</b></li>
</ul>
jQuery 代码:
$(document).bind("click", function (e) {
$(e.target).closest("li").toggleClass("hilight");
});
责任编辑: