我感觉 jQuery 是一个非常经典、值得学习的一个库,为什么呢?

  1. 它的封装思想太好了,可以学习使用它的封装思路
  2. 通过它给出的 API 反过来学习我们常用的 DOM 操作

jQuery 的官网:https://jquery.com/,直接看官网太枯燥了,所以找到菜鸟教程简单过一遍。

一、jQuery 简介

jQuery 功能

jQuery 是一个轻量级的 JavaScript 库,包含以下功能:

  1. HTML 元素选取
  2. HTML 元素操作
  3. CSS 操作
  4. HTML 事件函数
  5. JavaScript 特效和动画
  6. HTML DOM 遍历和修改
  7. AJAX
  8. Utilities

(其中我标紫的是我常用的)

jQuery 语法

jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作

  1. $(selector).action()
  • $ 符号定义 jQuery
  • 选择符(selector)“查找”和“查询”HTML 元素
  • action() 执行对元素的操作

文档就绪事件:防止文档在完全加载之前运行 jQuery 代码,即在 DOM 加载完后才可以对 DOM 进行操作

  1. $(document).ready(function(){
  2. // jQuery 代码
  3. })
  4. // 两者等价
  5. $(function(){
  6. // jQuery 代码
  7. })

二、jQuery 事件

页面对不同访问者的响应叫做事件,事件处理程序指的是当 HTML 中发生某些事件时所调用的方法,常见 DOM 事件有:

鼠标事件 键盘事件 表单事件 文档/窗口事件
- click
  • dblclick
  • mouseenter
  • mouseleave
  • hover | - keypress
  • keydown
  • keyup | - submit
  • change
  • focus
  • blur | - load
  • resize
  • scroll
  • unload |

在 jQuery 中,大多数 DOM 事件都有一个等效的 jQuery 方法,下面是一些常用 jQuery 事件方法

$(document).ready()

  • 在文档完全加载完后执行函数

    click()

  • 当元素被点击时触发

    dblclick()

  • 双击元素时触发

    mouseenter()

  • 鼠标指针穿过元素时触发

    mouseover()

  • 鼠标指针离开元素时触发

    mousedown()

  • 鼠标指针移到元素上方,并按下鼠标按键

    mouseup()

  • 在元素上松开鼠标

    hover()

  • 模拟光标悬停事件

    focus()

  • 当元素获得焦点

    blur()

  • 当元素失去焦点

三、jQuery 效果

hide()

  • 隐藏元素

    show()

  • 显示元素

    toggle()

  • 切换隐藏/显示元素

    fadeIn()

  • 淡入

    fadeOut()

  • 淡出

    fadeToggle()

  • 切换淡入/淡出

    fadeTo()

  • 渐变给定透明度

四、jQuery HTML

三种 jQuery 获取内容

text()

  • 设置或返回所选内容的文本内容

    html()

  • 设置或返回所选元素的内容(包括 HTML 标记)

    value()

  • 设置或返回表单字段的值

jQuery 设置

attr()

  • 设置/改变属性值

四种 jQuery 添加元素

append()

  • 在被选元素的结尾插入内容

    prepend()

  • 在被选元素的开头插入内容

    after()

  • 在被选元素之后插入内容

    before()

  • 在被选元素之前插入内容

两种 jQuery 删除元素

remove()

  • 删除被选元素(及其子元素)

    empty()

  • 从被选元素中删除子元素

三种 jQuery 操作 CSS

addClass()

  • 向被选元素添加一个或多个类

    removeClass()

  • 从被选元素删除一个或多个类

    toggleClass()

  • 对被选元素进行添加/删除类的切换操作

    css()

  • 设置或返回样式属性

jQuery 尺寸

width()

  • 设置或返回元素宽度(不包括内边距、边框、外边距)

    height()

  • 设置或返回元素的高度(不包括内边距、边框、外边距)

    innerWidth()

  • 返回元素宽度(包括内边距)

    innerHeight()

  • 返回元素高度(包括内边距)

    outerWidth()

  • 返回元素的宽度(包括内边距和边框)

    outerHeight()

  • 返回元素的高度(包括内边距和边框)

五、jQuery 遍历

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

祖先:向上遍历 DOM 树

parent()

  • 返回被选元素的直接父元素

    parents()

  • 返回被选元素的所有组件元素,一路上至文档的根元素()

    parentsUntil()

  • 返回介于两个给定元素之间的所有组件元素

后代:向下遍历 DOM 树

children()

  • 返回被选元素的所有直接子元素

    find()

  • 返回被选元素的后代元素,一路向下直到最后一个后代

同胞:在DOM 树中水平遍历

siblings()

  • 返回被选元素的所有同胞元素

    next()

  • 返回被选元素的下一个同胞元素

    nextAll()

  • 返回被选元素的所有跟随的同胞元素

    nextUntil()

  • 返回介于两个给定参数之间的所有跟随的同胞元素

    prev()

  • 返回被选元素的上一个同胞元素

    prevAll()

  • 返回被选元素的所有前面的同胞元素

    prevUntil()

  • 返回介于两个给定参数之间的所有前面的同胞元素

过滤:缩小搜索元素的范围

first()

  • 返回被选元素的首个元素

    last()

  • 返回被选元素的最后一个元素

    eq()

  • 返回被选元素中带有指定引号的元素

    filter()

  • 允许在被选元素中重新规定标准筛选

    not()

  • 返回不匹配标准的所有元素

六、jQuery Ajax

在重载网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示

load()

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

    • 必需的 URL 参数规定您希望加载的 URL
    • 可选的 data 参数规定与请求一同发送的查询字符串键/值对集合
    • 可选的 callback 参数是 load() 方法完成后所执行的函数名称
      1. $(selector).load(URL,data,callback)

      get()

  • 通过 HTTP GET 请求服务器上请求数据

    1. $.get(URL,callback)

    post()

  • 通过 HTTP POST 请求向服务器提交数据

    1. $.post(URL,data,callback)

七、jQuery 其他

noConflict()

  • 释放对 $ 标识符的控制
  1. (function($){
  2. $(function(){
  3. })
  4. })(jQuery)

JSONP

  1. $.getJSON("https://www.runoob.com/try/ajax/jsonp.php?jsoncallback=?",function(data){
  2. // 做后续操作
  3. })

八、jQuery 实例

我把菜鸟教程的实例给复制过来了

jQuery 选择器

$(this).hide()
演示 jQuery 的 hide() 函数,隐藏当前的 HTML 元素。
$(“p”).hide()
演示 jQuery 的 hide() 函数,隐藏所有

元素。
$(“.test”).hide()
演示 jQuery 的 hide() 函数,隐藏所有 class=”test” 的元素。
$(“#test”).hide()
演示 jQuery 的 hide() 函数,隐藏 id=”test” 的元素。


jQuery 事件

jQuery click()
演示 jQuery jQuery click() 事件.
jQuery dblclick()
演示 jQuery dblclick() 事件。
jQuery mouseenter()
演示 jQuery mouseenter() 事件。
jQuery mouseleave()
演示 jQuery mouseleave() 事件。
jQuery mousedown()
演示 jQuery mousedown() 事件。
jQuery mouseup()
演示 jQuery mouseup() 事件。
jQuery hover()
演示 jQuery hover() 事件。
jQuery focus() 和 blur()
演示 jQuery focus() 和 blur() 事件。
实例解析


jQuery 隐藏/显示

jQuery hide()
演示 jQuery hide() 方法。
jQuery hide() 和 show()
演示jQuery hide() 和 show() 方法。
jQuery toggle()
jQuery toggle() 用于切换 hide() 和 show() 方法。
jQuery hide()
另外一个隐藏文本的实例。
实例解析


jQuery 淡入淡出

jQuery fadeIn()
演示 jQuery fadeIn() 方法。
jQuery fadeOut()
演示 jQuery fadeOut() 方法。
jQuery fadeToggle()
演示 jQuery fadeToggle() 方法。
jQuery fadeTo()
演示 jQuery fadeTo() 方法。
实例解析


jQuery 滑动

jQuery slideDown()
演示 jQuery slideDown() 方法。
jQuery slideUp()
演示 jQuery slideUp() 方法。
jQuery slideToggle()
演示 jQuery slideToggle() 方法。
实例解析


jQuery 动画

jQuery animate()
演示简单的 jQuery animate() 方法。
jQuery animate() - 设置多个css属性
演示通过 jQuery animate() 方法 改变样式。
jQuery animate() - 使用相关值
演示如何在 jQuery animate() 方法中使用相关值。
jQuery animate() - 使用预定义值
演示通过 animate() 方法预定义 “hide”, “show”, “toggle” 值。
jQuery animate()
演示更多 jQuery animate() 方法实例
jQuery animate()
演示更多 jQuery animate() 方法实例 (多个 animate() 回调).
实例 解析


jQuery 停止动画

jQuery stop() 滑动
演示 jQuery stop() 方法。
jQuery stop() 动画 (带参数)
演示 jQuery stop() 方法。
实例解析


jQuery HTML 获取 和 属性

jQuery text() 和 html() - 获取文本和内容
使用jQuery text() 和 html() 方法获取内容。
jQuery val() - 获取值
使用jQuery val() 方法获取表单的字段值。
jQuery attr() - 获取属性值
使用jQuery attr() 方法获取属性值。
实例解析


jQuery HTML 设置内容和属性

jQuery text(), html(), 和 val() - 设置内容
使用 jQuery text(), html() 和 val() 方法设置内容 。
jQuery text() 和 html() - 设置内容并使用回调函数
使用 text() 和 html() 设置内容并使用回调函数
jQuery attr() - 设置属性值
使用 jQuery attr() 方法设置属性值 。
jQuery attr() - 设置 多个属性值
使用jQuery attr() 方法设置多个属性值。
jQuery attr() - 设置属性值并使用回调函数
设置属性值 + 并使用回调函数调用attr().
实例解析


jQuery HTML 添加元素/内容

jQuery append()
在选取元素的末尾添加内容
jQuery prepend()
在选取元素的开头添加内容
jQuery append() -插入多个元素
创新新的 text/HTML 元素, jQuery 和 JavaScript/DOM。添加在新元素文本后。
jQuery after() 和 before()
在选取元素的前后添加 HTML 元素。
jQuery after() - 插入多个元素
创新新的 text/HTML 元素,jQuery和 JavaScript/DOM。在选取元素的末尾插入新元素。
实例解析


jQuery HTML 移除元素/内容

jQuery remove()
移除选取的元素
jQuery empty()
移除选取元素的所有子元素
jQuery remove() - 使用参数
过滤元素并移除
实例解析


jQuery Get 和 设置 CSS 类

jQuery addClass()
不同元素添加 class 属性
jQuery addClass() - 多个类
使用 addClass() 方法添加多个类
jQuery removeClass()
移除指定元素的类
jQuery toggleClass()
在选取的元素切换(添加/删除)类
实例解析


jQuery css() 方法

jQuery css() - 返回 CSS 属性
返回第一个匹配元素的css属性值
jQuery css() - 设置 CSS 属性
设置 所有配置元素指定的 CSS 属性
jQuery css() - 设置 CSS 属性
设置多个匹配元素的 CSS 属性
实例解析


jQuery 尺寸

jQuery - 返回 width() 和 height()
返回指定元素的 width 和 height
jQuery - 返回 innerWidth() 和 innerHeight()
返回指定元素的 inner-width/height
jQuery - 返回 outerWidth() 和 outerHeight()
返回指定元素的 outer-width/height
jQuery - 返回 outerWidth(true) 和 outerHeight(true)
返回指定元素的 outer-width/height (包含外边框)
jQuery - 返回 width() 和 height() of document 和 window
返回 HTML 文档和窗口的 width 和 height
jQuery - 设置 width() 和 height()
设置指定元素的 width 和 height
实例解析


jQuery 遍历 - 祖先

jQuery parent()
演示 jQuery parent() 方法。
jQuery parents()
演示 jQuery parents() 方法。
jQuery parentsUntil()
演示 jQuery parentsUntil() 方法。
实例解析


jQuery 遍历 - 后代

jQuery children()
演示 jQuery children() 方法。
jQuery find()
演示 jQuery find() 方法。
实例解析


jQuery 遍历 - 同胞(siblings)

jQuery siblings()
演示 jQuery siblings() 方法。
jQuery next()
演示 jQuery next() 方法。
jQuery nextAll()
演示 jQuery nextAll() 方法。
jQuery nextUntil()
演示 jQuery nextUntil() 方法。
实例解析


jQuery AJAX load() 方法

jQuery load()
异步载入文件内容并插入到

元素中。
jQuery load()
异步载入文件内容中指定的元素内容并插入到
元素.
jQuery load() - 使用回调函数(callback)
使用 jQuery load() 方法的回调函数。
实例解析


jQuery AJAX get() 和 post() 方法

jQuery get()
使用 $.get() 方法从服务端异步获取数据
jQuery post()
使用 $.post() 方法从服务端异步获取数据
实例解析


其他实例

jQuery 动态粒子效果

九、jQuery 参考手册

直接把菜鸟教程的的参考手册复制过来,假装自己看过了

jQuery 选择器

请使用我们的 jQuery 选择器检测器 来演示不同的选择器。

元素,索引值从 0 开始,第一个元素是偶数 (0),第二个元素是奇数 (1),以此类推。 元素,索引值从 0 开始,第一个元素是偶数 (0),第二个元素是奇数 (1),以此类推。
选择器 实例 选取
* $(“*”) 所有元素
#id $(“#lastname”) id=”lastname” 的元素
.class $(“.intro”) class=”intro” 的所有元素
.class,.class $(“.intro,.demo”) class 为 “intro” 或 “demo” 的所有元素
element $(“p”) 所有

元素

el1,el2,el3 $(“h1,div,p”) 所有

元素

:first $(“p:first”) 第一个

元素

:last $(“p:last”) 最后一个

元素

:even $(“tr:even”) 所有偶数
:odd $(“tr:odd”) 所有奇数
:first-child $(“p:first-child”) 属于其父元素的第一个子元素的所有

元素

:first-of-type $(“p:first-of-type”) 属于其父元素的第一个

元素的所有

元素

:last-child $(“p:last-child”) 属于其父元素的最后一个子元素的所有

元素

:last-of-type $(“p:last-of-type”) 属于其父元素的最后一个

元素的所有

元素

:nth-child(n) $(“p:nth-child(2)”) 属于其父元素的第二个子元素的所有

元素

:nth-last-child(n) $(“p:nth-last-child(2)”) 属于其父元素的第二个子元素的所有

元素,从最后一个子元素开始计数

:nth-of-type(n) $(“p:nth-of-type(2)”) 属于其父元素的第二个

元素的所有

元素

:nth-last-of-type(n) $(“p:nth-last-of-type(2)”) 属于其父元素的第二个

元素的所有

元素,从最后一个子元素开始计数

:only-child $(“p:only-child”) 属于其父元素的唯一子元素的所有

元素

:only-of-type $(“p:only-of-type”) 属于其父元素的特定类型的唯一子元素的所有

元素

parent > child $(“div > p”)
元素的直接子元素的所有

元素

parent descendant $(“div p”)
元素的后代的所有

元素

element + next $(“div + p”) 每个
元素相邻的下一个

元素

element ~ siblings $(“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”) 所有标题元素

,

:animated $(“:animated”) 所有动画元素
:focus $(“:focus”) 当前具有焦点的元素
:contains(text) $(“:contains(‘Hello’)”) 所有包含文本 “Hello” 的元素
:has(selector) $(“div:has(p)”) 所有包含有

元素在其内的

元素
:empty $(“:empty”) 所有空元素
:parent $(“:parent”) 匹配所有含有子元素或者文本的父元素。
:hidden $(“p:hidden”) 所有隐藏的

元素

:visible $(“table:visible”) 所有可见的表格
:root $(“:root”) 文档的根元素
:lang(language) $(“p:lang(de)”) 所有 lang 属性值为 “de” 的

元素

[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” 的元素
[name=value][name2=value2] $( “input[id][name$=’man’]” ) 带有 id 属性,并且 name 属性以 man 结尾的输入框
: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”) 所有启用的元素
:disabled $(“:disabled”) 所有禁用的元素
:selected $(“:selected”) 所有选定的下拉列表元素
:checked $(“:checked”) 所有选中的复选框选项
.selector $(selector).selector 在jQuery 1.7中已经不被赞成使用。返回传给jQuery()的原始选择器
:target $( “p:target” ) 选择器将选中ID和URI中一个格式化的标识符相匹配的

元素

jQuery 事件方法

事件方法触发器或添加一个函数到被选元素的事件处理程序。
下面的表格列出了所有用于处理事件的 jQuery 方法。

方法 描述
bind() 向元素添加事件处理程序
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 返回指定事件上哪个键盘键或鼠标按钮被按下
event.metaKey 事件触发时 META 键是否被按下
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 事件
contextmenu() 添加事件处理程序到 contextmenu 事件
$.holdReady() 用于暂停或恢复.ready() 事件的执行

jQuery 效果方法

下面的表格列出了所有用于创建动画效果的 jQuery 方法。

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

jQuery HTML / CSS 方法

下面的表格列出了所有用于处理 HTML 和 CSS 的 jQuery 方法。
下面的方法适用于 HTML 和 XML 文档。除了:html() 方法。

方法 描述
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 元素包裹起来
$.escapeSelector() 转义CSS选择器中有特殊意义的字符或字符串
$.cssHooks 提供了一种方法通过定义函数来获取和设置特定的CSS值

jQuery 遍历方法

方法 描述
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() 返回被选元素的所有同级元素
slice() 把匹配元素集合缩减为指定范围的子集

jQuery AJAX 方法

AJAX 是一种与服务器交换数据的技术,可以在不重新载入整个页面的情况下更新网页的一部分。
下面的表格列出了所有的 jQuery 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 的数组

jQuery 杂项方法

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

jQuery 实用工具

方法 描述
$.boxModel 在版本 1.8 中被废弃。检测浏览器是否使用W3C的CSS盒模型渲染当前页面
$.browser 在版本 1.9 中被废弃。返回用户当前使用的浏览器的相关信息
$.contains() 判断另一个DOM元素是否是指定DOM元素的后代
$.each() 遍历指定的对象和数组
$.extend() 将一个或多个对象的内容合并到目标对象
$.fn.extend() 为jQuery扩展一个或多个实例属性和方法
$.globalEval() 全局性地执行一段JavaScript代码
$.grep() 过滤并返回满足指定函数的数组元素
$.inArray() 在数组中查找指定值并返回它的索引值(如果没有找到,则返回-1)
$.isArray() 判断指定参数是否是一个数组
$.isEmptyObject() 检查对象是否为空(不包含任何属性)
$.isFunction() 判断指定参数是否是一个函数
$.isNumeric() 判断指定参数是否是一个数字值
$.isPlainObject() 判断指定参数是否是一个纯粹的对象
$.isWindow() 判断指定参数是否是一个窗口
$.isXMLDoc() 判断一个DOM节点是否位于XML文档中,或者其本身就是XML文档
$.makeArray() 将一个类似数组的对象转换为真正的数组对象
$.map() 指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回
$.merge() 合并两个数组内容到第一个数组
$.noop() 一个空函数
$.now() 返回当前时间
$.parseHTML() 将HTML字符串解析为对应的DOM节点数组
$.parseJSON() 将符合标准格式的JSON字符串转为与之对应的JavaScript对象
$.parseXML() 将字符串解析为对应的XML文档
$.trim() 去除字符串两端的空白字符
$.type() 确定JavaScript内置对象的类型
$.unique() 在jQuery 3.0中被弃用。对DOM元素数组进行排序,并移除重复的元素
$.uniqueSort() 对DOM元素数组进行排序,并移除重复的元素
$.data() 在指定的元素上存取数据,并返回设置值
$.hasData() 确定一个元素是否有相关的jQuery数据
$.sub() 创建一个新的jQuery副本,其属性和方法可以修改,而不会影响原来的jQuery对象
$.speed 创建一个包含一组属性的对象用来定义自定义动画
$.htmlPrefilter() 通过jQuery操作方法修改和过滤HTML字符串
$.readyException() 处理包裹在jQuery()中函数同步抛出的错误

jQuery 回调对象

jQuery 1.7 版本中新增的 jQuery.Callbacks() 函数,返回一个多功能对象,此对象提供了一种强大的方法来管理回调列表。它能够增加、删除、触发、禁用回调函数。

方法 描述
$.Callbacks() 一个多用途的回调列表对象,用来管理回调函数列表
callbacks.add() 在回调列表中添加一个回调或回调的集合
callbacks.disable() 禁用回调列表中的回调函数
callbacks.disabled() 确定回调列表是否已被禁用
callbacks.empty() 从列表中清空所有的回调
callbacks.fire() 传入指定的参数调用所有的回调
callbacks.fired() 确定回调是否至少已经调用一次
callbacks.firewith() 给定的上下文和参数访问列表中的所有回调
callbacks.has() 判断回调列表中是否添加过某回调函数
callbacks.lock() 锁定当前状态的回调列表
callbacks.locked() 判断回调列表是否被锁定
callbacks.remove() 从回调列表中的删除一个回调或回调集合

jQuery 延迟对象

在jQuery 1.5中介绍了 Deferred 延迟对象,它是通过调用 jQuery.Deferred() 方法来创建的可链接的实用对象。它可注册多个回调函数到回调列表,调用回调列表并且传递异步或同步功能的成功或失败的状态。
延迟对象是可链接的,类似于一个 jQuery 对象可链接的方式,区别于它有自己的方法。在创建一个 Deferred 对象之后,您可以使用以下任何方法,直接链接到通过调用一个或多个的方法创建或保存的对象。

方法 描述
$.Deferred() 返回一个链式实用对象方法来注册多个回调
deferred.always() 当Deferred(延迟)对象被受理或被拒绝时,调用添加的处理程序
deferred.done() 当Deferred(延迟)对象被受理时,调用添加的处理程序
deferred.fail() 当Deferred(延迟)对象被拒绝时,调用添加的处理程序
deferred.isRejected() 从jQuery1.7开始已经过时,确定 Deferred 对象是否已被拒绝
deferred.isResolved() 从jQuery1.7开始已经过时,确定 Deferred 对象是否已被解决
deferred.notify() 给定一个参数,调用正在延迟对象上进行的回调函数( progressCallbacks )
deferred.notifyWith() 给定上下文和参数,调用正在延迟对象上进行的回调函数( progressCallbacks )
deferred.pipe() 过滤 and/or 链式延迟对象的工具方法
deferred.progress() 当Deferred(延迟)对象生成进度通知时,调用添加处理程序
deferred.promise() 返回 Deferred(延迟)的 Promise 对象
deferred.reject() 拒绝 Deferred(延迟)对象,并根据给定的参数调用任何 failCallbacks 回调函数
deferred.rejectWith() 拒绝 Deferred(延迟)对象,并根据给定的 context 和 args 参数调用任何 failCallbacks 回调函数
deferred.resolve() 解决Deferred(延迟)对象,并根据给定的参数调用任何 doneCallbacks 回调函数
deferred.resolveWith() 解决Deferred(延迟)对象,并根据给定的context 和 args 参数调用任何 doneCallbacks 回调函数
deferred.state() 确定一个Deferred(延迟)对象的当前状态
deferred.then() 当Deferred(延迟)对象解决,拒绝或仍在进行中时,调用添加处理程序
.promise() 返回一个 Promise 对象,观察某种类型被绑定到集合的所有行动,是否已被加入到队列中

jQuery 属性

方法 描述
context 在版本 1.10 中被废弃。包含被传递到 jQuery 的原始上下文
jquery 包含 jQuery 的版本号
jQuery.fx.interval 改变以毫秒计的动画运行速率
jQuery.fx.off 对所有动画进行全局禁用或启用
jQuery.support 包含表示不同浏览器特性或漏洞的属性集(主要用于 jQuery 的内部使用)
length 包含 jQuery 对象中元素的数目
jQuery.cssNumber 包含所有可以不使用单位的CSS属性的对象

十、jQuery 插件

jQuery Validate

https://github.com/jquery-validation/jquery-validation

jQuery Cookie

https://github.com/carhartl/jquery-cookie

jQuery UI

https://github.com/jquery/jquery-ui

jQuery Growl

https://github.com/ksylvest/jquery-growl

「@浪里淘沙的小法师」