[关闭]
@bluexiaowei 2016-04-29T07:54:52.000000Z 字数 12322 阅读 489

jQuery.js库

1. 教程

(1) 简介

JQuery 是一个 JavaScript 函数库。( jQuery.js )

(2) 安装

在页面中正确的引入相应的 jQuery 版本,因为是一个 JS 库: <script src="jquery-1.12.0.min.js"></script>

(3) 语法

  1. selector: 选择器。
  2. action: 操作名称。
  3. $(selector).action() 或者 jQuery(selector).action();

(4) 选择器

CSS 语法中的选择器可以在 jQuery 中套用。

(5) 事件

  1. event: 事件名称。
  2. $(selector).event();

2. 效果

(1) 隐藏/显示

  1. speed: 速度( valueslow/fast/normal/msec(毫秒数) )。
  2. callback: 回叫信号( value: function(){} )。
  3. $(selector).hide(speed, callback); 隐藏。
  4. $(selector).show(speed, callback); 显示。
  5. $(selector).toggle(speed, callback); 隐藏/显示相互切换。

(2) 淡入/淡出

  1. fade: 变色。
  2. opatcity: 不透明( value: 0~1 )。
  3. $(selector).fadeIn(speed, callback); 淡入已隐藏的元素
  4. $(selector).fadeOut(speed, callback); 淡出可见元素
  5. $(selector).fadeToggle(speed, callback); 淡入/淡出相互切换
  6. $(selector).fadeTo(speed, opatcity, callback); 允许渐变为给定的不透明度

(3) 滑动

  1. slide:滑动。
  2. $(selector).slideDown(speed, callback);
  3. $(selector).slideUp(speed, callback);
  4. $(selector).slideToggle(speed, callback);

(4) 动画

  1. params: CSS中的样式,只有 value number 的样式才有效果。且多个效果用分号隔开。
  2. $(selector).animate({params}, speed, callback);

(5) 停止动画

  1. stopAll: 是否清除动画队列默认 false
  2. goTOEnd: 是否立即完成动画默认 false
  3. $(selector).stop(stopAll, goTOEnd);

(6) Callback

函数在动画完成后执行。

(7) Chaning

把动作/方法连接在一起,jQuery 就属于链式特性,因为它返回值是一个对象。所以可以一直点下去。

3. HTML

(1) 获取内容和属性

  1. text(value/function(){});
  2. html(value/function(){});
  3. val(value/function(){});
  1. attr(attribute, value/function(){});

(2) 添加元素

  1. append(); 被选元素的结尾插入内容。
  2. prepend(); 被选元素的开头插入内容。
  3. after(); 被选元素之后插入内容。
  4. before() 被选元素之前插入内容。

(3) 删除元素

  1. remove([selector]); 删除被选元素(及其子元素)方法也可接受一个参数,允许您对被删元素进行过滤。
  2. empty(); 从被选元素中删除子元素

(4) 获取并设置 CSS 类

  1. addClass("classNmae1 name2"); 元素添加 class 属性,同时添加不同 class 用空格隔开
  2. removeClass("className"); 删除指定的 class 属性。
  3. toggleClass("classNmae"); 元素进行添加/删除类的切换操作。
  4. css();

(5) CSS()

设置或返回被选元素的一个或多个样式属性。

  1. css("propertyName"); 获取样式。
  2. css("rropertyName", "value"); 设置样式。
  3. eg
  4. css("background-color", "red");
  5. css({"propertyName": "value", "propertyName1": "value1", ...});

(6) 尺寸

  1. width(); 设置或返回元素的宽度(不包括内边距、边框或外边距)。
  2. height(); 设置或返回元素的高度(不包括内边距、边框或外边距)。
  3. innerWidth(); 返回元素的宽度(包括内边距)。
  4. innerHeight(); 返回元素的高度(包括内边距)。
  5. outerWidth(); 返回元素的宽度(包括内边距和边框)。
  6. outerHeight(); 返回元素的高度(包括内边距和边框)。

4. 遍历

用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。

(1) 祖先

向上遍历 DOM 树。

  1. parent(); 返回父元素。
  2. parents([selector]); 返回所有祖先元素。传入一个参数进行筛选。
  3. parentUntil([selector]); 返回介于两个给定元素之间的所有祖先元素。

(2) 后代

子元素。

  1. children([selector]); 返回被选元素的所有直接子元素。
  2. find([selector]); 返回被选元素的后代元素,一路向下直到最后一个后代。

(3) 同胞

同胞拥有相同的父元素。

  1. siblings(); 返回被选元素的所有同胞元素。
  2. next(); 返回被选元素的下一个同胞元素。
  3. nextAll(); 返回被选元素的所有跟随的同胞元素。
  4. nextUntil(); 返回介于两个给定参数之间的所有跟随的同胞元素。
  5. 以下方法与上面相同,但方向不同
  6. prev();
  7. prevAll();
  8. prevUntil();

(4) 过滤

  1. first(); 返回被选元素的首个元素。
  2. last(); 返回被选元素的最后一个元素。
  3. eq(); 返回被选元素中带有指定索引号的元素。
  4. filter(); 允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。
  5. not(); 返回不匹配标准的所有元素。

5. Ajax

异步 JavaScript 和 XML。在不刷新页面的情况下与后台进行数据交互。

(1) load()

从服务器加载数据,并把返回的数据放入被选元素中。

  1. $(selector).load(URL, data, callback);
  2. 必需的 URL 参数规定您希望加载的 URL
  3. 可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。
  4. 可选的 callback 参数是 load() 方法完成后所执行的函数名称,可以设置不同参数{
  5. responseTxt - 包含调用成功时的结果内容
  6. statusTXT - 包含调用的状态
  7. xhr - 包含 XMLHttpRequest 对象
  8. }

(2) get()/post()

用于通过 HTTP GET 或 POST 请求从服务器请求数据。

  1. callback: 两个参数(data,status)。
  2. $.get(URL, callback); 通过 HTTP GET 请求从服务器上请求数据。
  3. $.post(URL, data, callback); 通过 HTTP POST 请求从服务器上请求数据。

6. 其他

(1) onConflict()

如果 jQuery 操作符与其他库起冲突时使用该方法。

  1. $.onConflict();
  2. jQuery(selector).action();
  3. var jq = $.onConflict();
  4. jq(selector).action();
  5. jQuery(document).ready(function($) {
  6. $(selector).action();
  7. });

(2) JSONP

json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据,因为“同源策略”

  1. $.getJSON(URL, function(data) {});

7. 插件

(1) jQuery Validate

插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。

(2) jQuery Accordion

插件用于创建折叠菜单。它通常与嵌套的列表、定义列表或嵌套的 div 一起使用。选项用于指定结构、激活的元素和定制的动画。

(3) jQuery Autocomplete

插件根据用户输入值进行搜索和过滤,让用户快速找到并从预设值列表中选择。通过给 Autocomplete 字段焦点或者在其中输入字符,插件开始搜索匹配的条目并显示供选择的值的列表。通过输入更多的字符,用户可以过滤列表以获得更好的匹配。

(4) jQuery Password Validation

插件扩展了 jQuery Validate 插件,提供了两种组件:
一种评价密码的相关因素的功能:比如大小写字母的混合情况、字符(数字、特殊字符)的混合情况、长度、与用户名的相似度(可选的)。
一种使用评价功能显示密码强度的验证插件自定义方法。显示的文本可以被本地化。
您可以简单地自定义强度显示的外观、本地化消息显示,并集成到已有的表单中。

(5) jQuery Prettydate

插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API。所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言。

(6) jQuery Tooltip

插件取代了原生的工具提示框,让它们可自定义,您只需要调整它们的内容、位置和外观即可。

8. 参考手册

(1) 选择器

选择器 实例 选取
* $("*") 所有元素
# id $("#lastname") id="lastname" 的元素
. class $(".intro") class="intro" 的所有元素
. class, . class $(".intro,.demo") class 为 "intro" 或 "demo" 的所有元素
element $("p") 所有 <p> 元素
el1 , el2 , el3 $("h1,div,p") 所有 <h1>、<div> 和 <p> 元素
:first $("p:first") 第一个 <p> 元素
:last $("p:last") 最后一个 <p> 元素
:even $("tr:even") 所有偶数 <tr> 元素
:odd $("tr:odd") 所有奇数 <tr> 元素
:first-child $("p:first-child") 属于其父元素的第一个子元素的所有 <p> 元素
:first-of-type $("p:first-of-type") 属于其父元素的第一个 <p> 元素的所有 <p> 元素
:last-child $("p:last-child") 属于其父元素的最后一个子元素的所有 <p> 元素
:last-of-type $("p:last-of-type") 属于其父元素的最后一个 <p> 元素的所有 <p> 元素
:nth-child(n) $("p:nth-child(2)") 属于其父元素的第二个子元素的所有 <p> 元素
:nth-last-child(n) $("p:nth-last-child(2)") 属于其父元素的第二个子元素的所有 <p> 元素,从最后一个子元素开始计数
:nth-of-type( n ) $("p:nth-of-type(2)") 属于其父元素的第二个 <p> 元素的所有 <p> 元素
:nth-last-of-type(n) $("p:nth-last-of-type(2)") 属于其父元素的第二个 <p> 元素的所有 <p> 元素,从最后一个子元素开始计数
:only-child $("p:only-child") 属于其父元素的唯一子元素的所有 <p> 元素
:only-of-type $("p:only-of-type") 属于其父元素的特定类型的唯一子元素的所有 <p> 元素
parent > child $("div > p") <div> 元素的直接子元素的所有 <p> 元素
parent descendant $("div p") <div> 元素的后代的所有 <p> 元素
element + next $("div + p") 每个 <div> 元素相邻的下一个 <p> 元素
element ~ siblings $("div ~ p") <div> 元素同级的所有 <p> 元素
:eq( index ) $("ul li:eq(3)") 列表中的第四个元素(index 值从 0 开始)
:gt( no ) $("ul li:gt(3)") 列举 index 大于 3 的元素
:lt( no ) $("ul li:lt(3)") 列举 index 小于 3 的元素
:not( selector ) $("input:not(:empty)") 所有不为空的输入元素
:header $(":header") 所有标题元素 <h1>, <h2> ...
:animated $(":animated") 所有动画元素
:focus $(":focus") 当前具有焦点的元素
:contains( text ) $(":contains('Hello')") 所有包含文本 "Hello" 的元素
:has( selector ) $("div:has(p)") 所有包含有 <p> 元素在其内的 <div> 元素
:empty $(":empty") 所有空元素
:parent $(":parent") 所有是另一个元素的父元素的元素
:hidden $("p:hidden") 所有隐藏的 <p> 元素
:visible $("table:visible") 所有可见的表格
:root $(":root") 文档的根元素
:lang( language ) $("p:lang(de)") 所有带有以 "de" 开头的 lang 属性值的 <p> 元素
[ attribute ] $("[href]") 所有带有 href 属性的元素
[attribute=value] $("[href='default.htm']") 所有带有 href 属性且值等于 "default.htm" 的元素
[attribute!=value] $("[href!='default.htm']") 所有带有 href 属性且值不等于 "default.htm" 的元素
[attribute$=value] $("[href$='.jpg']") 所有带有 href 属性且值以 ".jpg" 结尾的元素
[attribute|=value] $("[title|='Tomorrow']") 所有带有 title 属性且值等于 'Tomorrow' 或者以 'Tomorrow' 后跟连接符作为开头的字符串
[attribute^=value] $("[title^='Tom']") 所有带有 title 属性且值以 "Tom" 开头的元素
[attribute~=value] $("[title~='hello']") 所有带有 title 属性且值包含单词 "hello" 的元素
[attribute*=value] $("[title*='hello']") 所有带有 title 属性且值包含字符串 "hello" 的元素
:input $(":input") 所有 input 元素
:text $(":text") 所有带有 type="text" 的 input 元素
:password $(":password") 所有带有 type="password" 的 input 元素
:radio $(":radio") 所有带有 type="radio" 的 input 元素
:checkbox $(":checkbox") 所有带有 type="checkbox" 的 input 元素
:submit $(":submit") 所有带有 type="submit" 的 input 元素
:reset $(":reset") 所有带有 type="reset" 的 input 元素
:button $(":button") 所有带有 type="button" 的 input 元素
:image $(":image") 所有带有 type="image" 的 input 元素
:file $(":file") 所有带有 type="file" 的 input 元素
:enabled $(":enabled") 所有启用的 input 元素
:disabled $(":disabled") 所有禁用的 input 元素
:selected $(":selected") 所有选定的 input 元素
:checked $(":checked") 所有选中的 input 元素

(2) 事件

方法 描述
bind() 向元素添加事件处理程序
blur() 添加/触发 blur 事件
change() 添加/触发 change 事件
click() 添加/触发 click 事件
dblclick() 添加/触发 double click 事件
delegate() 向匹配元素的当前或未来的子元素添加处理程序
die() 在版本 1.9 中被移除。移除所有通过 live() 方法添加的事件处理程序
error() 在版本 1.8 中被废弃。添加/触发 error 事件
event.currentTarget 在事件冒泡阶段内的当前 DOM 元素
event.data 包含当前执行的处理程序被绑定时传递到事件方法的可选数据
event.delegateTarget 返回当前调用的 jQuery 事件处理程序所添加的元素
event.isDefaultPrevented() 返回指定的 event 对象上是否调用了 event.preventDefault()
event.isImmediatePropagationStopped() 返回指定的 event 对象上是否调用了 event.stopImmediatePropagation()
event.isPropagationStopped() 返回指定的 event 对象上是否调用了 event.stopPropagation()
event.namespace 返回当事件被触发时指定的命名空间
event.pageX 返回相对于文档左边缘的鼠标位置
event.pageY 返回相对于文档上边缘的鼠标位置
event.preventDefault() 阻止事件的默认行为
event.relatedTarget 返回当鼠标移动时哪个元素进入或退出
event.result 包含由被指定事件触发的事件处理程序返回的最后一个值
event.stopImmediatePropagation() 阻止其他事件处理程序被调用
event.stopPropagation() 阻止事件向上冒泡到 DOM 树,阻止任何父处理程序被事件通知
event.target 返回哪个 DOM 元素触发事件
event.timeStamp 返回从 1970 年 1 月 1 日到事件被触发时的毫秒数
event.type 返回哪种事件类型被触发
event.which 返回指定事件上哪个键盘键或鼠标按钮被按下
focus() 添加/触发 focus 事件
focusin() 添加事件处理程序到 focusin 事件
focusout() 添加事件处理程序到 focusout 事件
hover() 添加两个事件处理程序到 hover 事件
keydown() 添加/触发 keydown 事件
keypress() 添加/触发 keypress 事件
keyup() 添加/触发 keyup 事件
live() 在版本 1.9 中被移除。添加一个或多个事件处理程序到当前或未来的被选元素
load() 在版本 1.8 中被废弃。添加一个事件处理程序到 load 事件
mousedown() 添加/触发 mousedown 事件
mouseenter() 添加/触发 mouseenter 事件
mouseleave() 添加/触发 mouseleave 事件
mousemove() 添加/触发 mousemove 事件
mouseout() 添加/触发 mouseout 事件
mouseover() 添加/触发 mouseover 事件
mouseup() 添加/触发 mouseup 事件
off() 移除通过 on() 方法添加的事件处理程序
on() 向元素添加事件处理程序
one() 向被选元素添加一个或多个事件处理程序。该处理程序只能被每个元素触发一次
$.proxy() 接受一个已有的函数,并返回一个带特定上下文的新的函数
ready() 规定当 DOM 完全加载时要执行的函数
resize() 添加/触发 resize 事件
scroll() 添加/触发 scroll 事件
select() 添加/触发 select 事件
submit() 添加/触发 submit 事件
toggle() 在版本 1.9 中被移除。添加 click 事件之间要切换的两个或多个函数
trigger() 触发绑定到被选元素的所有事件
triggerHandler() 触发绑定到被选元素的指定事件上的所有函数
unbind() 从被选元素上移除添加的事件处理程序
undelegate() 从现在或未来的被选元素上移除事件处理程序
unload() 在版本 1.8 中被废弃。添加事件处理程序到 unload 事件

(3) 效果

方法 描述
animate() 对被选元素应用"自定义"的动画
clearQueue() 对被选元素移除所有排队函数(仍未运行的)
delay() 对被选元素的所有排队函数(仍未运行)设置延迟
dequeue() 移除下一个排队函数,然后执行函数
fadeIn() 逐渐改变被选元素的不透明度,从隐藏到可见
fadeOut() 逐渐改变被选元素的不透明度,从可见到隐藏
fadeTo() 把被选元素逐渐改变至给定的不透明度
fadeToggle() 在 fadeIn() 和 fadeOut() 方法之间进行切换
finish() 对被选元素停止、移除并完成所有排队动画
hide() 隐藏被选元素
queue() 显示被选元素的排队函数
show() 显示被选元素
slideDown() 通过调整高度来滑动显示被选元素
slideToggle() slideUp() 和 slideDown() 方法之间的切换
slideUp() 通过调整高度来滑动隐藏被选元素
stop() 停止被选元素上当前正在运行的动画
toggle() hide() 和 show() 方法之间的切换

(4) HTML / CSS

方法 描述
addClass() 向被选元素添加一个或多个类名
after() 在被选元素后插入内容
append() 在被选元素的结尾插入内容
appendTo() 在被选元素的结尾插入 HTML 元素
attr() 设置或返回被选元素的属性/值
before() 在被选元素前插入内容
clone() 生成被选元素的副本
css() 为被选元素设置或返回一个或多个样式属性
detach() 移除被选元素(保留数据和事件)
empty() 从被选元素移除所有子节点和内容
hasClass() 检查被选元素是否包含指定的 class 名称
height() 设置或返回被选元素的高度
html() 设置或返回被选元素的内容
innerHeight() 返回元素的高度(包含 padding,不包含 border)
innerWidth() 返回元素的宽度(包含 padding,不包含 border)
insertAfter() 在被选元素后插入 HTML 元素
insertBefore() 在被选元素前插入 HTML 元素
offset() 设置或返回被选元素的偏移坐标(相对于文档)
offsetParent() 返回第一个定位的祖先元素
outerHeight() 返回元素的高度(包含 padding 和 border)
outerWidth() 返回元素的宽度(包含 padding 和 border)
position() 返回元素的位置(相对于父元素)
prepend() 在被选元素的开头插入内容
prependTo() 在被选元素的开头插入 HTML 元素
prop() 设置或返回被选元素的属性/值
remove() 移除被选元素(包含数据和事件)
removeAttr() 从被选元素移除一个或多个属性
removeClass() 从被选元素移除一个或多个类
removeProp() 移除通过 prop() 方法设置的属性
replaceAll() 把被选元素替换为新的 HTML 元素
replaceWith() 把被选元素替换为新的内容
scrollLeft() 设置或返回被选元素的水平滚动条位置
scrollTop() 设置或返回被选元素的垂直滚动条位置
text() 设置或返回被选元素的文本内容
toggleClass() 在被选元素中添加/移除一个或多个类之间切换
unwrap() 移除被选元素的父元素
val() 设置或返回被选元素的属性值(针对表单元素)
width() 设置或返回被选元素的宽度
wrap() 在每个被选元素的周围用 HTML 元素包裹起来
wrapAll() 在所有被选元素的周围用 HTML 元素包裹起来
wrapInner() 在每个被选元素的内容周围用 HTML 元素包裹起来

(5) 遍历方法

方法 描述
add() 把元素添加到匹配元素的集合中
addBack() 把之前的元素集添加到当前集合中
andSelf() 在版本 1.8 中被废弃。addBack() 的别名
children() 返回被选元素的所有直接子元素
closest() 返回被选元素的第一个祖先元素
contents() 返回被选元素的所有直接子元素(包含文本和注释节点)
each() 为每个匹配元素执行函数
end() 结束当前链中最近的一次筛选操作,并把匹配元素集合返回到前一次的状态
eq() 返回带有被选元素的指定索引号的元素
filter() 把匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素
find() 返回被选元素的后代元素
first() 返回被选元素的第一个元素
has() 返回拥有一个或多个元素在其内的所有元素
is() 根据选择器/元素/jQuery 对象检查匹配元素集合,如果存在至少一个匹配元素,则返回 true
last() 返回被选元素的最后一个元素
map() 把当前匹配集合中的每个元素传递给函数,产生包含返回值的新 jQuery 对象
next() 返回被选元素的后一个同级元素
nextAll() 返回被选元素之后的所有同级元素
nextUntil() 返回介于两个给定参数之间的每个元素之后的所有同级元素
not() 从匹配元素集合中移除元素
offsetParent() 返回第一个定位的父元素
parent() 返回被选元素的直接父元素
parents() 返回被选元素的所有祖先元素
parentsUntil() 返回介于两个给定参数之间的所有祖先元素
prev() 返回被选元素的前一个同级元素
prevAll() 返回被选元素之前的所有同级元素
prevUntil() 返回介于两个给定参数之间的每个元素之前的所有同级元素
siblings() 返回被选元素的所有同级元素 Returns all sibling elements of the selected element
slice() 把匹配元素集合缩减为指定范围的子集

(6) AJAX

方法 描述
$.ajax() 执行异步 AJAX 请求
$.ajaxPrefilter() 在每个请求发送之前且被 $.ajax() 处理之前,处理自定义 Ajax 选项或修改已存在选项
$.ajaxSetup() 为将来的 AJAX 请求设置默认值
$.ajaxTransport() 创建处理 Ajax 数据实际传送的对象
$.get() 使用 AJAX 的 HTTP GET 请求从服务器加载数据
$.getJSON() 使用 HTTP GET 请求从服务器加载 JSON 编码的数据
$.getScript() 使用 AJAX 的 HTTP GET 请求从服务器加载并执行 JavaScript
$.param() 创建数组或对象的序列化表示形式(可用于 AJAX 请求的 URL 查询字符串)
$.post() 使用 AJAX 的 HTTP POST 请求从服务器加载数据
ajaxComplete() 规定 AJAX 请求完成时运行的函数
ajaxError() 规定 AJAX 请求失败时运行的函数
ajaxSend() 规定 AJAX 请求发送之前运行的函数
ajaxStart() 规定第一个 AJAX 请求开始时运行的函数
ajaxStop() 规定所有的 AJAX 请求完成时运行的函数
ajaxSuccess() 规定 AJAX 请求成功完成时运行的函数
load() 从服务器加载数据,并把返回的数据放置到指定的元素中
serialize() 编码表单元素集为字符串以便提交
serializeArray() 编码表单元素集为 names 和 values 的数组

(7) 杂项

方法 描述
data() 向被选元素附加数据,或者从被选元素获取数据
each() 为每个匹配元素执行函数
get() 获取由选择器指定的 DOM 元素
index() 从匹配元素中搜索给定元素
$.noConflict() 释放变量 $ 的 jQuery 控制权
$.param() 创建数组或对象的序列化表示形式(可在生成 AJAX 请求时用于 URL 查询字符串中)
removeData() 移除之前存放的数据
size() 在版本 1.8 中被废弃。返回被 jQuery 选择器匹配的 DOM 元素的数量
toArray() 以数组的形式检索所有包含在 jQuery 集合中的所有 DOM 元素

(8) 属性

方法 描述
context 在版本 1.10 中被废弃。包含被传递到 jQuery 的原始上下文
jquery 包含 jQuery 的版本号
jQuery.fx.interval 改变以毫秒计的动画运行速率
jQuery.fx.off 对所有动画进行全局禁用或启用
jQuery.support 包含表示不同浏览器特性或漏洞的属性集(主要用于 jQuery 的内部使用)
length 包含 jQuery 对象中元素的数目
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注