directory search
jQuery 1.4.4 速查表 核心 jQuery核心函数 jQuery(expression jQuery(html jQuery(html jQuery(elements) jQuery() jQuery(callback) jQuery对象访问 each(callback) size() length context get() get(index) index([subject]) selector 数据缓存 data([name]) data(name data(obj) removeData(name) jQuery.data(element jQuery.data([element] 队列机制 queue(name) queue(name queue(name dequeue(name) clearQueue([queueName]) 插件机制 jQuery.extend(object) jQuery.fn.extend(object) 多库共存 jQuery.noConflict() jQuery.noConflict(extreme) 选择器 基本 #id element .class * selector1 层级 ancestor descendant parent > child prev + next prev ~ siblings 基本(过滤器) :first :last :not :even :odd :eq :gt :lt :header :animated 内容(过滤器) :contains :empty :has :parent 可见性(过滤器) :hidden :visible 属性 [attribute] [attribute=value] [attribute!=value] [attribute^=value] [attribute$=value] [attribute*=value] [selector1][selector2][selectorN] 子元素 :first-child :last-child :nth-child :only-child 表单 :input :text :password :radio :checkbox :reset :submit :image :button :file :hidden 表单对象属性 :checked :disabled :enabled :selected 属性 属性 attr(name) attr(properties) attr(key attr(key removeAttr(name) CSS类 addClass(class) addClass(function(index removeClass([class]) removeClass(function(index toggleClass(class) toggleClass(class toggleClass(function(index HTML代码 html() html(val) html(function(index 文本 text() text(val) text(function(index val() val(val) val(array) val(function(index 筛选 过滤 eq(index) first() last() hasClass(class) filter(expr) filter(fn) is(expr) map(callback) has(expr) not(expr) slice(start 查找 children([expr]) closest(expr find(expr) next([expr]) nextAll([expr]) nextUntil([expr]) offsetParent() parent([expr]) parents([expr]) parentsUntil([expr]) prev([expr]) prevAll([expr]) prevUntil([expr]) siblings([expr]) 串联 add(expr andSelf() contents() end() 文档处理 内部插入 append(content) append(function(index appendTo(content) prepend(content) prepend(function(index prependTo(content) 外部插入 after(content) after(function) before(content) before(function) insertAfter(content) insertBefore(content) 包裹 wrap(html) wrap(elem) wrap(fn) unwrap() wrapAll(html) wrapAll(elem) wrapInner(html) wrapInner(elem) wrapInner(fn) 替换 replaceWith(content) replaceAll(selector) 删除 empty() remove([expr]) detach([expr]) 复制 clone() clone(true) CSS CSS css(name) css(properties) css(name css(name 位置 offset() offset(coordinates) position() scrollLeft() scrollLeft(val) scrollTop() scrollTop(val) 尺寸 height() height(val) width() width(val) innerHeight() innerWidth() outerHeight(options) outerWidth(options) 事件 页面载入 ready(fn) 事件处理 bind(type one(type trigger(type triggerHandler(type unbind([type] 事件委派 live(type die([type] delegate(selector undelegate() 事件切换 hover(over toggle(fn 事件 blur() blur(fn) change() change(fn) click() click(fn) dblclick() dblclick(fn) error() error(fn) focus() focus(fn) focusin(fn) focusout(fn) keydown() keydown(fn) keypress() keypress(fn) keyup() keyup(fn) load(fn) mousedown(fn) mousemove(fn) mouseout(fn) mouseover(fn) mouseup(fn) resize(fn) scroll(fn) select() select(fn) submit() submit(fn) unload(fn) 效果 基本 show() show(speed hide() hide(speed toggle() toggle(switch) toggle(speed 滑动 slideDown(speed slideUp(speed slideToggle(speed 淡入淡出 fadeIn(speed fadeOut(speed fadeTo(speed fadeToggle(speed 自定义 animate(params animate(params stop([clearQueue] delay(duration 设置 jQuery.fx.off jQuery.fx.interval AJAX AJAX请求 jQuery.ajax([options]) load(url jQuery.get(url jQuery.getJSON(url jQuery.getScript(url jQuery.post(url AJAX事件 ajaxComplete(callback) ajaxError(callback) ajaxSend(callback) ajaxStart(callback) ajaxStop(callback) ajaxSuccess(callback) 其它 jQuery.ajaxSetup([options]) serialize() serializeArray() 工具 浏览器及特性检测 jQuery.support jQuery.browser jQuery.browser.version jQuery.boxModel 数组和对象操作 jQuery.each(object jQuery.extend([deep] jQuery.grep(array jQuery.inArray(value jQuery.makeArray(obj) jQuery.toArray() jQuery.map(array jQuery.merge(first jQuery.unique(array) jQuery.parseJSON(json) 函数操作 jQuery.noop jQuery.proxy(function 测试操作 jQuery.contains(container jQuery.isArray(obj) jQuery.isFunction(obj) jQuery.isEmptyObject(obj) jQuery.isPlainObject(obj) jQuery.isWindow(obj) jQuery.type(obj) 字符串操作 jQuery.trim(str) URL解析 jQuery.param(obj 插件编写 jQuery.error(message) 关于 关于jQuery API 1.4.4中文版 关于jQuery 1.4.1中文版 关于jQuery 1.3 版翻译 关于jQuery 1.2 版翻译 提交bug及获取更新
characters

返回值:jQueryclosest(expr, [context])

概述

jQuery 1.3新增。从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素。

closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。如果什么都没找到则返回一个空的jQuery对象。

		closest和parents的主要区别是:1,前者从当前元素开始匹配寻找,后者从父元素开始匹配寻找;2,前者逐级向上查找,直到发现匹配的元素后就停止了,后者一直向上查找直到根元素,然后把这些元素放进一个临时集合中,再用给定的选择器表达式去过滤;3,前者返回0或1个元素,后者可能包含0个,1个,或者多个元素。		

		closest对于处理事件委托非常有用。

参数

exprString, Array

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

context (可选)Element, jQuery

作为待查找的 DOM 元素集、文档或 jQuery 对象。

示例

描述:

展示如何使用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");
});
Previous article: Next article: