目錄 搜尋
速查表 核心 jQuery(selector jQuery(html jQuery(callback) jQuery.holdReady(hold) each(callback) size() length selector context get([index]) index([selector|element]) data([key] removeData([name|list]) jQuery.data(element queue(element dequeue([queueName]) clearQueue([queueName]) jQuery.noConflict([extreme]) 选择器 #id element .class * selector1 ancestor descendant parent > child prev + next prev ~ siblings :first :last :not(selector) :even :odd :eq(index) :gt(index) :lt(index) :lang(language) :header :animated :focus :root :target :contains(text) :empty :has(selector) :parent :hidden :visible [attribute] [attribute=value] [attribute!=value] [attribute^=value] [attribute$=value] [attribute*=value] [selector1][selector2][selectorN] :first-child :first-of-type :last-child :last-of-type :nth-child :nth-last-child() :nth-last-of-type() :nth-of-type() :only-child :only-of-type :input :text :password :radio :checkbox :submit :image :reset :button :file :hidden :enabled :disabled :checked :selected 属性 attr(name|pro|key removeAttr(name) prop(name|pro|key removeProp(name) addClass(class|fn) removeClass([class|fn]) toggleClass(class|fn[ html([val|fn]) text([val|fn]) val([val|fn|arr]) 筛选 eq(index|-index) first() last() hasClass(class) filter(expr|obj|ele|fn) is(expr|obj|ele|fn) map(callback) has(expr|ele) not(expr|ele|fn) slice(start children([expr]) closest(expr find(expr|obj|ele) next([expr]) nextAll([expr]) nextUntil([exp|ele][ parent([expr]) parents([expr]) parentsUntil([exp|ele][ prev([expr]) prevAll([expr]) prevUntil([exp|ele][ siblings([expr]) add(expr|ele|html|obj[ andSelf() contents() end() 文档处理 append(content|fn) appendTo(content) prepend(content|fn) prependTo(content) after(content|fn) before(content|fn) insertAfter(content) insertBefore(content) wrap(html|ele|fn) unwrap() wrapAll(html|ele) wrapInner(html|ele|fn) replaceWith(content|fn) replaceAll(selector) empty() remove([expr]) detach([expr]) clone([Even[ CSS css(name|pro|[ jQuery.cssHooks offset([coordinates]) position() scrollTop([val]) scrollLeft([val]) height([val|fn]) width([val|fn]) innerHeight() innerWidth() outerHeight([options]) outerWidth([options]) 事件 ready(fn) on(events off(events bind(type one(type trigger(type triggerHandler(type unbind(type live(type die(type delegate(sel undelegate([sel hover([over toggle(fn blur([[data] change([[data] click([[data] dblclick([[data] error([[data] focus([[data] focusin([data] focusout([data] keydown([[data] keypress([[data] keyup([[data] mousedown([[data] mouseenter([[data] mouseleave([[data] mousemove([[data] mouseout([[data] mouseover([[data] mouseup([[data] resize([[data] scroll([[data] select([[data] submit([[data] unload([[data] 效果 show([speed hide([speed slideDown([speed] slideUp([speed slideToggle([speed] fadeIn([speed] fadeOut([speed] fadeTo([[speed] fadeToggle([speed animate(param stop([cle] delay(duration finish( [queue ] ) jQuery.fx.off jQuery.fx.interval Ajax jQuery.ajax(url load(url jQuery.get(url jQuery.getJSON(url jQuery.getScript(url jQuery.post(url ajaxComplete(callback) ajaxError(callback) ajaxSend(callback) ajaxStart(callback) ajaxStop(callback) ajaxSuccess(callback) jQuery.ajaxPrefilter([type] jQuery.ajaxSetup([options]) serialize() serializeArray() 工具 jQuery.support jQuery.browser jQuery.browser.version jQuery.boxModel jQuery.each(object jQuery.extend([deep] jQuery.grep(array jQuery.makeArray(obj) jQuery.map(array jQuery.inArray(val jQuery.toArray() jQuery.sub() jQuery.when(deferreds) jQuery.merge(first jQuery.unique(array) jQuery.parseJSON(json) jQuery.parseXML(data) jQuery.noop jQuery.proxy(function jQuery.contains(container jQuery.isArray(obj) jQuery.isFunction(obj) jQuery.isEmptyObject(obj) jQuery.isPlainObject(obj) jQuery.isWindow(obj) jQuery.isNumeric(value) jQuery.type(obj) jQuery.trim(str) jQuery.param(obj jQuery.error(message) $.fn.jquery 事件对象 event.currentTarget event.data event.delegateTarget event.isDefaultPrevented() event.isImmediatePropagationStopped() event.isPropagationStopped() event.namespace event.pageX event.pageY event.preventDefault() event.relatedTarget event.result event.stopImmediatePropagation() event.stopPropagation() event.target event.timeStamp event.type event.which 延迟对象 def.done(donCal def.fail(failCal) def.isRejected() def.isResolved() def.reject(args) def.rejectWith(context def.resolve(args) def.resolveWith(context def.then(doneCal def.progress([type] def.pipe([donFil] def.always(alwCal def.notify(args) def.notifyWith(context def.progress(proCal) def.state() 回调函数 callbacks.add(callbacks) callbacks.disable() callbacks.empty() callbacks.fire(arguments) callbacks.fired() callbacks.fireWith([context][ callbacks.has(callback) callbacks.lock() callbacks.locked() callbacks.remove(callbacks) jQuery.callbacks(flags) 关于 关于jQuery API 文档 提交bug及获取更新 其它 正则表达式速查表
文字

返回值:jQueryclosest(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 内部或插件作者使用。

参数

expr String,ArrayV1.3

用以过滤元素的表达式。jQuery 1.4开始,也可以传递一个字符串数组,用于查找多个元素。

expr,[context] StringV1.4

expr:用以过滤子元素的表达式

context:DOM元素在其中一个匹配的元素可以被发现。如果没有上下文在当时的情况下通过了jQuery设置将被使用。

jQuery object objectV1.6

一个用于匹配元素的jQuery对象

element DOMElementV1.6

一个用于匹配元素的DOM元素。

示例

描述:

展示如何使用clostest查找多个元素

HTML 代码:
<ul><li></li><li></li></ul>
jQuery 代码:
$("li:first").closest(["ul", "body"]);
结果:
[ul, body]

描述:

展示如何使用clostest来完成事件委托。

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");
});
上一篇: 下一篇: