转载自http://dwqs.github.io/resume/,

目录系列:http://www.ido321.com/1602.html,http://www.ido321.com/1607.html,http://www.ido321.com/1610.html,http://www.ido321.com/1626.html

 

一:选择器归纳

1、基本选择器

选择符匹配元素
* 所有元素
id 给定ID的元素
element 给定类型的所有元素
.class 给定类的所有元素
a,b 与a或b匹配的元素
a b a的后代元素中与b匹配的元素
a>b a的直接子元素中与b匹配的元素
a+b a的直接同辈元素中与b匹配的元素
a~b a的同辈元素中与b匹配的元素
 

2、位置选择器

选择符匹配元素
a b:nth-child(index) a的子元素中,第index个与b匹配的元素(从1开始计数)
a b:nth-child(even) a的子元素中,第偶数个与b匹配的元素(从1开始计数)
a b:nth-child(odd) a的子元素中,第奇数个与b匹配的元素(从1开始计数)
a b:nth-child(2n+2) a的子元素中,第2n+2个与b匹配的元素(从1开始计数),n为自然数
a b:nth-last-child() 同:nth-child(),从最后一个元素开始计数
a b:first-child a的子元素中,第1个与b匹配的元素
a b:last-child a的子元素中,最后一个个与b匹配的元素
:only-child 作为其父元素唯一一个子元素的元素
a b:nth-of-type() 同:nth-child(),只计同类元素
a b:nth-last-of-type() 同:nth-last-child(),只计同类元素
a b:first-of-type() 同:first-child(),只计同类元素
a b:last-of-type() 同:last-child(),只计同类元素
a b:only-of-type() 没有同名元素的元素
 

3、属性选择器

选择符匹配元素
[attr] 带有属性attr的元素
[attr="value"] attr属性值为value的元素
[attr!="value"] attr属性值不为value的元素)
[attr^="value"] attr属性值以value开头的元素
[attr$="value"] attr属性值以value结尾的元素
[attr*="value"] attr属性值包含value字符串的元素
[attr~="value"] attr属性值是空格分隔的字符串,其中一个字符串值是value的元素
[attr|="value"] attr属性值等于value或value后跟一个连字符(-)的元素
 

4、表单选择器

选择符匹配元素
:input 所有<input><textarea><select><button>元素
:text type=”text”的<input>元素
:password type=”password”的<input>元素
:file type=”file”的<input>元素
:radio type=”radio”的<input>元素
:checkbox type=”checkbox”的<input>元素
:submit type=”submit”的<input>元素
:image type=”image”的<input>元素
:reset type=”reset”的<input>元素
:button type=”button”的<input>元素
:enabled 启用的表单元素
:disabled 禁用的表单元素
:checked 选中的复选框和单选按钮
:selected 选中的<option>元素
 

5、过滤选择器

选择符匹配元素
:root 文档根元素
:header 标题元素,h1~h6
:animated 动画正在运行的元素
:contains(text) 包含文本text的元素
a:empty 不包含子节点的a元素
a:has(b) 至少包含一个b元素匹配的a元素(返回父元素a而非子元素b)
:parent 与:empty相反,返回包含子节点的元素
:hidden 隐藏的元素,包括<input type="hidden">
:visible 可见元素
:focus 获得焦点的元素
:lang(language) 给定语言代码的元素
:target URI标识符指向的目标元素,具体见::target用法
 

6、用于结果集中的选择器

这类选择器在CSS中不存在,但可以用于JQuery的结果中进行筛选。

选择符匹配元素
:first 结果集中的第一个元素,对应方法为first(),如$("a b:first")<==>$("a b").first()
:last 结果集中的最后一个元素,对应方法为last(),如$("a b:last")<==>$("a b").last()
:not(a) 结果集中不与a匹配的元素,对应方法为not(),如$("a b:not(c)")<==>$("a b").not(c)
:even 结果集中索引是偶数的元素(从0开始),如$("a b:even")
:odd 结果集中索引是奇数的元素(从0开始),如$("a b:odd")
:eq(index) 结果集中索引是index的元素(从0开始),对应方法是eq(index),如$("a b:eq(2)")<==>$("a b").eq(2)
:gt(index) 结果集中索引大于index的元素(从0开始),如$("a b:gt(2)")
:lt(index) 结果集中索引小于index的元素(从0开始),如$("a b:lt(2)")

 

二:DOM遍历和事件处理

1.筛选元素

方法返回的元素
.filter(selector) 与selector匹配的元素
.filter(callbaxk) callback中返回true的元素
.eq(index) 从0开始计数的第index个选中元素
.first() 选中元素中的第一个元素
.last() 选中元素的最后一个元素
.slice(start[,end]) 从0开始计数的给定范围内的选中元素
.not(selector) 与selector不匹配的元素
.has(selector) 与selector匹配的的后代元素
 

2.后代元素

方法返回的元素
.find(selector) 与selector匹配的后代元素
.contents() 子节点(包括文本节点)
.children([selector]) 子节点,可传入selector进行筛选
 

3.同辈元素

方法返回的元素
.next([selector]) 每个选中元素紧邻的下一个元素,可传入selector进行筛选
.nextAll([selector]) 每个选中元素后的所有同辈元素,可传入selector进行筛选
.nextUntil([selector],[filter]) 每个选中元素之后、直至但不包含第一个和selector匹配的元素,可传入filter进行筛选
.prev([selector]) 每个选中元素紧邻的上一个元素,可传入selector进行筛选
.prevAll([selector]) 每个选中元素前的所有同辈元素,可传入selector进行筛选
.prevUntil([selector],[filter]) 每个选中元素之前、直至但不包含第一个和selector匹配的元素,可传入filter进行筛选
.siblings([selector]) 所有同辈元素,可传入selector进行筛选
 

4.祖先元素

方法返回的元素
.parent([selector]) 每个选中元素的父元素,可传入selector进行筛选
.parents([selector]) 每个选中元素的所有祖先元素,可传入selector进行筛选
.parentsUntil([selector],[filter]) 每个选中元素的所有祖先元素、直至但不包含第一个和selector匹配的元素,可传入filter进行筛选
.closest(selector) 与selector匹配的第一个元素,从元素自身开始沿DOM数向上搜索祖先元素
.offsetParent() 选中元素的第一个被定为的父元素(relative或absolute)
 

5.集合操作

方法说明
.add([selector]) 将与selector匹配的元素添加原对象集合中
.addBack() 选中的元素加上JQuery内部栈中之前选中的元素
.end() 内部JQuery栈中之前选中的元素
.map(callback) 对每个选中调用回调函数callback之后的结果
.pushStack() 指定的元素
 

6.操作选中的元素

方法说明
.is(selector) 确定匹配的元素中是否有传入的与selector匹配的元素
.index() 取得匹配元素相对其同辈元素的索引
.index(element) 取得匹配元素中与指定元素对象的DOM节点的索引
$.contains(a,b) 确定DOM节点a是否包含DOM节点b
.each(callback) 迭代匹配元素,对每个元素执行callback
.length 取得匹配元素的数量
.get() 取得与匹配元素对应的DOM节点列表
.get(index) 取得匹配元素中与指定索引对应的DOM节点
.toArray() 取得与匹配元素对应的DOM节点列表
 

7.事件绑定

方法说明
.ready(handler) DOM和CSS完全加载后之间handler
.on(type,[selector],[data],handler) 绑定type事件,并指定事件处理程序handler;如果指定selector则执行事件委托
.on(events,[selector],[data]) 根据events对象的事件绑定多个事件处理程序
.off(type,[selector],handler) 解除on给元素绑定的事件处理程序
.bind(type,[data],handler) 绑定type事件,并指定事件处理程序handler
.one(type,[data],handler) 绑定type事件,并指定事件处理程序handler,handler被调用后立即解除绑定
.unbind([type],[handler]) 解除bind给元素绑定的指定事件处理程序(不指定则解除所有指定)
.delegate(selector,type,[data],handler) 给与selector匹配的元素绑定type事件,并指定事件处理程序handler
.delegate(selector,handlers) 给与selector匹配的元素绑定type事件,并指定事件处理程序handlers
.undelegate(selector,type,[handler]) 解除delegate给元素绑定的指定事件处理程序
 

8.其它方法

方法说明
.trigger(type,[data]) 触发元素上的事件并执行事件的默认操作
.triggerHandler(type,[data]) 触发元素上的事件,但不执行事件的默认操作
$.proxy(fn,context) 创建一个新的在指定上下文中执行的函数。

 

三:DOM完全操作和动画

特性和属性

方法说明
.attr(key) 取得特性key的值
.attr(key,value) 设置特性key的值为value
.attr(key,fn) 将fn的返回值作为key的值
.attr(obj) 根据传入的键值对象参数设置特性的值
.removeAttr(key) 删除特性key的值
.prop(key) 取得属性key的值
.prop(key,value) 设置属性key的值为value
.prop(key,fn) 将fn的返回值作为key的值
.prop(obj) 根据传入的键值对象参数设置属性的值
.removeProp(key) 删除属性key的值
.addClass(class) 为匹配元素添加传入的类
.removeClass(class) 为匹配元素删除传入的类
.toggleClass(class) 对于匹配元素,如果存在类则删除,不存在则添加
.hasClass(class) 匹配元素中至少一个包含传入的类则返回true
.val() 获取第一个匹配元素的value属性值
.val(value) 设置每个匹配元素的value属性

关于特性和属性:DOM元素的特性(Attribute)和属性(Property)

 

内容操作

方法说明
.html() 获取第一个匹配元素的HTML内容
.html(value) 将每个匹配元素的HTML内容设置为value
.text() 获取所有匹配元素的文本,以字符串返回
.text(value) 将每个匹配元素的文本设置为value
 

CSS和尺寸相关

方法说明
.css(key) 取得属性key的值
.css(key,value) 设置key的值为value
.css(obj) 根据传入的键值参数设置CSS的属性值
offset() 返回第一个匹配元素相对于视口的坐标(单位是像素)
.position() 返回第一个匹配元素相对.offsetParent()返回元素的坐标(单位是像素)
.scrollTop() 返回第一个匹配元素的垂直滚动位置
.scrollTop(value) 设置每个匹配元素的垂直滚动位置
.scrollLeft() 返回第一个匹配元素的水平滚动位置
.scrollLeft(value) 设置每个匹配元素的水平滚动位置
.height() 返回第一个匹配元素的高度
.height(value) 设置每个元素的高度
.width() 返回第一个匹配元素的度
.width(value) 设置每个元素的宽度
.innerHeight() 返回第一个匹配元素的高度(包含内边距,不包含边框)
.innerWidth() 返回第一个匹配元素的宽度(包含内边距,不包含边框)
.outerHeight([includeMargin]) 返回第一个匹配元素的高度(包含内边距和边框,bool为true,则包含外边距,反之不包含)
.outerWidth([includeMargin]) 返回第一个匹配元素宽度(包含内边距和边框,bool为true,则包含外边距,反之不包含)
 

DOM插入

方法说明
.append(content) 在每个匹配元素内部的末尾插入content
.appendTo(selector) 将匹配元素插入到与selector匹配的元素的内部的末尾
.prepend(content) 在每个匹配元素内部的开头插入content
.prependTo(selector) 将匹配元素插入到与selector匹配的元素的内部的开头
.after(content) 在每个匹配元素外部的后面插入content
.insertAfter(selector) 将匹配元素插入到与selector匹配的元素的外部的后面
.before(content) 在每个匹配元素的前面插入content
.insertBefore(selector) 将匹配元素插入到与selector匹配的元素的外部的前面
.wrap(content) 匹配的每个元素包含在content中
.wrapAll(content) 匹配的每个元素作为一个整体包含在content中
.wrapInner(content) 匹配的每个元素的内部内容包含在content中
.unwrap() 删除元素的父元素(反操作)
 

替换、删除和复制

方法说明
.replaceWith(content) 将匹配的元素替换为content
.replaceAll(selector) 将与selector匹配的元素替换为匹配的元素
.empty() 删除每个元素的子节点
.remove([selector]) 从DOM中删除节点,selector可以用于筛选
.detach([selector]) 从DOM中删除节点,selector可以用于筛选,并保留JQuery给元素添加的数据
.clone([withHandlers],[deepWithHandlers]) 返回匹配元素的副本,也可以复制事件处理程序
 

数据

方法说明
.data(key) 获取第一个匹配元素的key键对应的数据
.data(key,value) 设置每个元素关联的key对应的数据值为value
.removeData(key) 删除每个元素与key键关联的数据
 

预定义动画

方法说明
.show() 显示匹配元素
.show(speed,[callback]) 通过高度、宽度和透明度动画显示匹配元素
.hide() 隐藏匹配元素
.hide(speed,[callback]) 通过高度、宽度和透明度动画隐藏匹配元素
.toggle([speed],[callback]) 显示或隐藏匹配元素
.slideDown([speed],[callback]) 以滑入方式显示匹配元素
.slideUp([speed],[callback]) 以滑出方式隐藏匹配元素
.slideToggle([speed],[callback]) 以滑动方式显示或隐藏匹配元素
.fadeIn([speed],[callback]) 以淡入方式显示匹配元素
.fadeOut([speed],[callback]) 以淡出方式隐藏匹配元素
.fadeToggle([speed],[callback]) 以淡入淡出方式显示或隐藏匹配元素
.fadeTo(speed,opacity,[callback]) 调整匹配元素的透明度
 

自定义动画

方法说明
.animate(attrs,[speed],[easing],[callback]) 针对指定的css属性自定义动画
.animate(attrs,options) .animate的底层接口,支持队列控制
 

队列操作

方法说明
.queue([queueName]) 返回第一个匹配元素上的动画队列
.queue([queueName],callback) 在动画队列的最后添加回调函数
.queue([queueName],newQueue) 以新队列替换旧队列
.dequeue([queueName]) 执行动画队列的下一个动画
.clearQueue([queueName]) 清除所有未执行函数
.stop([clearQueue],[jumpToEnd]) 停止当前动画,启动排列动画(若有)
.finish([queueName]) 停止当前动画并将所有排列的动画理解提前到它们的目标值
.delay(duration,[queueName]) 延迟duration毫秒执行队列中的下一个动画
.promise([queueName],[target]) 在集合中所有排队的操作完成后返回一个待解决的承诺对象

四:ajax和延迟加载

1.发送请求

Ajax方法说明
$.ajax([url],options) 使用传入的options发送一次Ajax请求
.load(url,[data],[callback]) 向传入的url生成一次Ajax请求,然后将响应放在匹配的元素中
$.get(url,[data],[callback],[returnType]) 向传入的url发送一个get请求
$.getJSON(url,[data],[callback]) 向传入的url发送一个Ajax请求,将响应作为JSON数据结构解析
$.getScript(url,[callback]) 向传入的url发送一个Ajax请求,将响应作为Javascript解析
$.post(url,[data],[callback],[returnType]) 向传入的url发送一个post请求
 

2.监视请求

Ajax方法说明
.ajaxComplete(handler) 绑定Ajax请求完成后调用的处理程序
.ajaxError(handler) 绑定Ajax请求发生错误后调用的处理程序
.ajaxSend(handler) 绑定Ajax请求开始时调用的处理程序
.ajaxStart(handler) 绑定Ajax请求开始但没有其它Ajax请求时调用的处理程序
.ajaxStop(handler) 绑定Ajax请求结束但没有其它Ajax请求时调用的处理程序
.ajaxSuccess(handler) 绑定Ajax请求成功返回响应时调用的处理程序
 

3.配置

Ajax方法说明
$.ajaxSetup(options) 为后续的Ajax请求设置选项
$.ajaxPrefilter([dataType],handler) 在$.ajax()处理请求之前,修改每个请求的选项
$.ajaxTransport(transportFunction) 为Ajax事务定义一个新的传输机制
 

4.实用方法

Ajax方法说明
.serialize() 将一组表单控件的值编码为一个查询字符串
.serializeArray() 将一组表单控件的值编码为一个JSON数据结构
$.param(obj) 将任意值的对象编码为一个查询字符串
$.globalEval(code) 在全局上下文中求值给定的Javascipt字符串
$.parseJSON(json) 将JSON对象转为JavaScript对象
$.parseXML(xml) 将XML字符串转为XML文档
$.parseHTML(html) 将HTML元素转为DOM元素
 

二、延迟对象

 

1.创建对象

函数说明
$.Deferred([setupFunction]) 创建一个新的延迟对象
$.when(deferreds) 在给定的延迟对象解决了之后返回一个待解决的承诺对象
 

2.延迟对象的方法

方法说明
.resolve([args]) 解决延迟对象并使用给定的参数调用完成回调函数
.resolveWith(context,[args]) 解决延迟对象并使用给定的参数调用完成回调函数,同时让关键字this引用回调函数中的context
.reject([args]) 拒绝延迟对象并使用给定的参数调用失败回调函数
.rejectWith(context,[args]) 拒绝延迟对象并使用给定的参数调用失败回调函数,同时让关键字this引用回调函数中的context
.notify([args]) 执行progress回调
.notifyWith(context,[args]) 执行progress回调,同时让关键字this引用回调函数中的context
.promise([target]) 返回与当前延迟对象的承诺对象
 

3.承诺对象的方法

方法说明
.done(callback) 当对象被解决之后调用callback
.fail(callback) 当对象被拒绝之后调用callback
.always(callback) 当对象被拒绝或被解决之后调用callback
.then(doneCallbacks,failCallbacks) 当对象被解决之后调用doneCallbacks,当对象被拒绝之后调用failCallbacks
.progress(callback) 当对象每次接到进度通知后调用callback
.isRejected() 如果对象被拒绝,返回true
.isResolved() 如果对象被解决,返回true
.state() 返回当前运行状态,”pending”、”rejected”和”resolved”
.pipe([doneFilter],[failFilter]) 返回新的承诺对象
 

三、其它方法

 

1.JQuery对象的属性

属性说明
$.support 返回一个属性对象,表示浏览器是否支持各种特性和标准
 

2.数组和对象

函数说明
$.each(collection,callback) 迭代集合,对每一项执行callback
$.extend(target,obj1,obj2,….) 扩展target对象
$.grep(array,callback,[invert]) 使用callback筛选数组
$.makeArray(obj) 将obj对象转换为数组
$.map(array,callback) 迭代集合,对每一项执行callback,将返回的结果作为一个新数组返回
$.inArray(value,array) 判断value是否在array中,不在返回-1
$.merge(array1,array2) 合并数组array1和array2
$.unique(array) 从数组中移除重复的DOM元素
 

3.对象判断

函数说明
$.isArray(obj) 判断对象obj是否为数组
$.isEmptyObject(obj) 判断对象obj是否为空的
$.isFunction(obj) 判断对象obj是否为函数
$.isPlainObject(obj) 判断对象obj是否是通过字面量或new Object()创建的
$.isNumber(obj) 判断对象obj是否为数值
$.isWindow(obj) 判断对象obj是否为浏览器窗口
$.isXMLDoc(obj) 判断对象obj是否为XML节点
$.type(obj) 判断对象obj的JavaScript类

相关文章:javascript中对变量类型的判断

 

4.其他

函数说明
$.trim(string) 移除字符串的前后空白符
$.noConflict([removeAll]) 向其它库过渡$标识符
$.noop() 什么也不做的函数
$.now() 以秒为单位,返回当前时间
$.holdReay(hold) 防止触发ready事件或释放当前的保留

相关文章:如何控制jquery的ready事件

posted on 2015-08-24 23:59  shininguang  阅读(109)  评论(0编辑  收藏  举报