1.  jQuery选择器

分类

选择器

描述

基  本

*

选取所有元素

 

id

根据给定的ID匹配一个元素

 

class

根据给定的类匹配元素

 

element

根据给定的元素名匹配所有元素

层  级

selector1,……,selectorN

将每一个选择器匹配到的元素合并一起返回

 

Ancestor descendant

在给定的元素ancestor下匹配所有的后代元素

 

parent>child

在给定的元素parent下匹配所有的子元素

 

prev + next

匹配所有紧接在prev元素的相邻元素

 

prev ~ siblings

匹配prev元素之后的所有兄弟元素

 

:first

获取第一个元素

 

:not()

去除所有与给定选择器匹配的元素

1.$(“p:not(.intro)”)

选取除了.intro元素以外的所有p元素

 

:even()

匹配所有索引值为偶数的元素,从0开始计数

 

:odd

匹配所有索引值为奇数的元素,从0开始计数

 

:eq()

匹配一个给定索引值的元素

 

:gt()

匹配所有大于给定索引值的元素

 

:lt()

匹配所有小于给定索引值的元素

 

:lang

选择指定语言的所有元素。

 

:last

获取最后个元素

 

:header

匹配如 h1, h2, h3 之类的标题元素

 

:animated

匹配所有正在执行动画效果的元素

 

:focus

匹配当前获取焦点的元素。

 

:root

选择该文档的根元素 永远是 元素

 

:target

选择由文档 URI 的格式化识别码表示的目 标元素。

内  容

:contains()

匹配包含给定文本的元素

 

:empty

匹配所有不包含子元素或者文本的空元素

 

:has()

匹配含有选择器所匹配的元素的元素

 

:parent

匹配含有子元素或者文本的元素

可见性

:hidden

匹配所有不可见元素,或者 type 为 hidden 的元素

 

:visible

匹配所有的可见元素

属  性

[attribute]

匹配包含给定属性的元素

 

[attribute=value]

匹配给定的属性是某个特定值的元素

 

[attribute!=value]

匹配所有不含有指定的属性,或者属性不等 于特定值的元素。

 

[attribute^=value]

匹配给定的属性是以某些值开始的元素

 

[attribute$=value]

匹配给定的属性是以某些值结尾的元素

 

[attribute*=value]

匹配给定的属性是以包含某些值的元素

 

[attrSel1][ attrSel2][ attrSelN]

复合属性选择器,需要同时满足多个条件时 使用。

子元素

:first­-child

匹配第一个子元素

 

:last-­child

匹配最后一个子元素

 

:first­-of-­type

选择所有相同的元素名称的第一个兄弟元 素。

 

:last­-of-­type

选择的所有元素之间具有相同元素名称的 最后一个兄弟元素。

 

:nth-­child()

匹配某个元素,该元素必须是某个父元素下 的第 n 个子元素。序号从 1 开始

 

:nth-­last-­child()

选中某个元素,该元素必须是某个父元素下 的倒数第 n 个子元素。序号从 1 开始

 

:nth-­of-­type()

选中某个元素,该元素必须是某个父元素下 的指定类型第 n 个子元素。序号从 1 开始

 

:nth-­last­-of-­type()

选中某个元素,该元素必须是某个父元素下 的指定类型倒数第 n 个子元素。序号从 1 开 始

 

:only-­child

如果某个元素是父元素中唯一的子元素,那 将会被匹配

 

:only-­of-­type

选择所有没有兄弟元素和自己相同类型的 元素

表  单

:input

匹配所有 input, textarea, select 和 button 元素

 

:text

匹配所有的单行文本框

 

:password

匹配所有密码框

 

:radio

匹配所有单选按钮

 

:checkbox

匹配所有复选框

 

:submit

匹配所有提交按钮

 

:image

匹配所有图像域

 

:reset

匹配所有重置按钮

 

:button

匹配所有按钮

 

:file

匹配所有文件域

表  单

属  性

:enabled

匹配所有可用元素

 

:disabled

匹配所有禁用元素

 

:checked

匹配具有 checked 属 性 的 radio 和 checkbox,和有 selected 属性的 option 标签

 

:selected

只匹配有 selected 属性的 option 标签

2  jQuery 遍历-祖先

通过 jQuery,您能够向下遍历 DOM 树,以查找元素的后代

parent()

方法返回被选元素的直接父元素。该方法只会向上一级对 DOM 树进行遍历

parents()

方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 ()。

parentsUntil()

方法返回介于两个给定元素之间的所有祖先元素。

3.  jQuery 遍历-后代

通过 jQuery,您能够向下遍历 DOM 树,以查找元素的后代。

children()

方法返回被选元素的所有直接子元素。该方法只会向下一级对 DOM 树进行遍历

find()

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

4  jQuery 遍历-同胞

通过 jQuery,您能够在 DOM 树中遍历元素的同胞元素。

siblings()

方法返回被选元素的所有同胞元素。

next()

方法返回被选元素的下一个同胞元素。该方法只返回一个元素。

nextAll()

方法返回被选元素的所有跟随的同胞元素。

nextUntil()

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

prev(),prevAll()以及 prevUntil()

方法的工作方式与上面的方法类似,只不过方向相 反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞之前元素遍历,而不是之 后元素遍历)

5.   jQuery 遍历-过滤

三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置 来选择一个特定的元素。

其他过滤方法,比如 filter() 和 not() 允许您选取匹配或不匹配某项指定标准的元素。

方法

描述

first()

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

1. //选取首个<div>元素内部的第一个<p>元素

2. $("div p").first();

last()

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

1. //选取首个<div>元素内部的第一个<p>元素

2. $("div p").last();

eq()

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

    1.//选取第二个<p>元素

      2.$(“p”).eq(1);

filter()

筛选出与指定表达式匹配的元素集合。

  1.//返回带有类名”url”的所有<p>元素

   2.$(“p”).filter(“.url”);

not()

筛选出与指定表达式不匹配的元素集合。与filter()相反

  3.//返回不带有类名”url”的所有<p>元素

   4.$(“p”).not(“.url”);

has()

保留包含特定后代的元素,去掉那些不包含有指定后代的元素。

6.  jQuery DOM操作

1、内容&属性操作

(1.) 内容

方法

描述

text()

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

html()

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

var()

设置或返回表单字段的值

(2.) 属性

方法

描述

attr()

设置或返回被选元素的属性值。

removeAttr()

从每一个匹配的元素中删除一个属性。

prop()

获取在匹配的元素集中的第一个元素的属性值。

removeProp()

删除由.prop()方法设置的属性集

attr()和 prop()区别

(1.)对于 HTML 元素本身就带有的固有属性,在处理时,使用 prop 方法。

(2.)对于 HTML 元素我们自己自定义的 DOM 属性,在处理时,使用 attr 方法。

(3.)具有 true 和 false 两个值的属性,如 checked, selected 或者 disabled,使用 prop() prop() 函数的结果:有相应的属性,返回指定的属性值;否则返回空字符串;

attr()  函数的结果:有相应的属性,返回指定的属性值;否则返回 undefined。

(3.) CSS

方法

描述

addClass()

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

removeClass()

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

toggleClass()

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

2、添加/删除/替换元素

(1.) 添加元素

方法

描述

append()

在被选元素的结尾插入内容(结束标签之前插入)

appendTo()

把所有匹配的元素追加到另一个指定的元素元素集合中。

prepend()

在被选元素的开头插入内容(开始标签之后插入)

prependTo()

把所有匹配的元素前置到另一个、指定的元素元素集合中。

after()

在被选元素之后插入内容

insertAfter()

在被选元素后插入 HTML 元素

before()

在被选元素之前插入内容

insertBefore()

在被选元素前插入 HTML 元素

(2.) 删除元素

方法

描述

empty()

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

remove()

从DOM中从删除所有匹配的元素,绑定的事件,附加的数据等都会被移除。

detach()

从DOM中删除所有匹配的元素,所有绑定的事件、附加的数据等都会保留下来。

(3.) 替换元素

方法

描述

replaceWith()

将所有匹配的元素替换成指定的HTML或DOM元素。

  1.$(selector).replacewith(content)

replaceAll()

用匹配的元素替换掉所有selector匹配到的元素

  1.$(content).replaceAll(selector)

  1. CSS()方法

css() 方法设置或返回被选元素的一个或多个样式属性。

返回 CSS 属性值:

1.$(selector).css("propertyname")

设置 CSS 属性值:(注意属性和值之间是 , )

1.$(selector).css("propertyname","value")

设置多个 CSS 属性值:(注意属性与属性之间用 ,隔开,属性和值之间是 : )

  1. $(selector).css({"propertyname":"value","propertyname":"value",...}

更多CSS方法:

方法

描述

offset()

设置/获取匹配元素在当前视口的相对偏移。

position()

获取匹配元素相对父元素的偏移。

scrollTop()

设置/获取匹配元素相对滚动条顶部的偏移

scrollLeft()

设置/获取匹配元素相对滚动条左侧的偏移。

heigh()

设置/取得匹配元素当前计算的高度值(px)。

width()

设置/取得第一个匹配元素当前计算的宽度值(px)。

innerHeight()

设置/获取第一个匹配元素内部区域高度(包括内边距 padding、不包 括边框 border)。

innerWidth()

设置/获取第一个匹配元素内部区域宽度(包括内边距 padding、不包 括边框 border)。

outerHeight()

设置/获取第一个匹配元素外部高度(默认包括内边距 padding 和边框 border)。

outerWidth()

设置/获取第一个匹配元素外部宽度(默认包括内边距 padding 和边框 border)。

7.  jQuery 事件

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

分类

事件

描述

页面载入

ready()

当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。

事件处理

on()

向元素添加事件处理程序

   1.//为按钮绑定点击事件

  2.$(“.btn”).on(“click”,function(){

           alert(“被点击了。”);

});

 

off()

移除通过on()方法添加的事件处理程序

   1.//移除按钮上的点击事件

    2.$(“.btn”).off(“click”);

 

bind()

向元素添加事件处理程序

 

unbind()

bind()的反向操作,从每一个匹配的元素中删除绑定的事件。自jQuery版本1.7起,on()和off()方法是在元素上添加和移除事件处理程序的首选方法。

 

one()

向被选元素添加一个或多个事件处理程序。该处理程序只能被每个元素触发一次。

 

trigger()

触发绑定到被选元素的所有事件

   1.// 按钮点击事件触发文本框焦点事件,文本框获得焦点并执行函数

    2.$(“#btn1”).click(function(){

        $(“#ipt”).trgger(“focus”);

});

 

triggerHandler()

触发绑定到被选元素的指定事件上的所有函数

   1.//按钮点击事件触发文本框焦点事件,文本框获得焦点并执行函数

    2.$(“#btn1”).click(function(){

       $(“#ipt”). triggerHandler(“focus”);

});

事件委派

delegate()

向匹配元素的当前或未来的子元素添加处理程序

1.//为div的子元素p绑定点击事件

2.$(“div”). delegate(“p”,”click”,function(){

   $(“p”).css(“background-color“,”pink”);

});

 

undelegated()

从现在或未来的被选元素上移除事件处理程序

事件切换

hover()

规定当鼠标指针悬停以及离开在被选元素上时要运行的两个函数。如果只指定一个函数,则mouseenter和mouseleave都执行它

 

toggle()

在版本1.9中被移除。

添加click事件之间要切换的两个或多个函数

常见事件

click()

添加/触发click事件

 

dblclick()

添加/触发双击事件

 

mouseenter()

添加/触发鼠标移入事件

 

mouseleave()

添加/触发鼠标离开事件

事件只有在离开被选元素的时候才会触发,该事件大多数时 候会与 mouseenter 事件一起使用。

 

mousemove()

添加/触发移动事件

 

mouseout()

添加/触发鼠标离开事件

事件在鼠标离开被选元素的子元素时也会触发

 

mouseover()

当鼠标指针位于元素上方时触发的事件

事件在鼠标指针进入被选元素或任意子元素时都会被触发

 

mousedown()

添加/触发鼠标按下事件

 

mouseup()

添加/触发鼠标松开事件

 

keydown()

当键盘或按钮被按下时,发生 keydown 事件。(过程)

 

keypress()

当键盘或按钮被按下时,发生 keypress 事件。

 

keyup()

当按钮被松开时,发生 keyup 事件。

它发生在当前获得焦点的元素上。

 

submit()

当提交表单时,会发生 submit 事件。

 

change()

当元素的值发生改变时,会发生 change 事件。

 

focus()

当元素获得焦点时,触发 focus 事件。

 

blur()

当元素失去焦点时触发 blur 事件。

 

select()

当 textarea 或文本类型的 input 元素中的文本被选择时,会 发生 select 事件。

 

load()

在版本 1.8 中被废弃。添加事件处理程序到加载页面事件

 

unload()

在版本 1.8 中被废弃。添加事件处理程序到离开页面事件

 

resize()

当调整浏览器窗口的大小时,发生 resize 事件。

 

scroll()

当用户滚动指定的元素时,会发生 scroll 事件。

8.  jQuery 效果

1、jQuery 效果 - 隐藏和显示

1.1、hide() & show()

jQuery使用hide() 和show() 方法来隐藏和显示HTML元素。

语法:

(1)、$(selector).hide(speed,callback);

(2)、$(selector).show(speed,callback);

参数:

speed:可选,规定隐藏/显示的速度,可以取值:“slow”、“fast”或毫秒。

callback:可选,是隐藏或显示完成后所执行的函数名称。

1.2、toggle()

jQuery使用toggle()方法来切换hide() 和 show() 方法。

语法:

$(selector).toggle(speed,callback);

2.jQuery效果 – 淡入淡出

通过jQuery,可以实现元素的淡入淡出效果。

jQuery 拥有下面四种 fade 方法:

fadeIn()

fadeOut()

fadeToggle()

fadeTo()

2.1、fadeIn()

fadeIn() 用于淡入已隐藏的元素。

语法:

  1. $(selector).fadeIn(speed,callback);

参数:

speed:可选,规定效果的时长,可以取值:"slow"、"fast" 或毫秒。

callback:可选,是 fading 完成后所执行的函数名称。

2.2、fadeOut()

用法与 fadeIn()基本一样。

2.3、fadeToggle()

 fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。

2.4、fadeTo ()

fadeTo() 方法允许渐变为给定的不透明度(值介于 0 与 1 之间)。

语法:

  1. $(selector).fadeTo(speed,opacity,callback);

参数:

speed:必填,规定效果的时长,可以取值:"slow"、"fast" 或毫秒。

opacity:必填,将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。

callback:可选,是 fading 完成后所执行的函数名称。

3、jQuery 效果 - 滑动

jQuery 滑动方法可使元素上下滑动,使元素有展开收起的效果。

3.1、slideDown() & slideUp()

(1)slideDown() 方法用于向下滑动元素;

(2)slideUp() 方法用于向上滑动元素。

语法:

  1. $(selector).slideDown / slideUp(speed,callback);

参数:

1、speed:可选,规定效果的时长,可以取值:"slow"、"fast" 或毫秒。

2、callback:可选,是滑动完成后所执行的函数名称。

3.2、slideToggle()

slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换

语法:

$(selector).slideToggle(speed,callback);

4、jQuery 效果 – 动画

animate() 方法用于创建自定义动画。

语法:

  1. $(selector).animate({params},speed,callback);

参数:

params:必填,定义形成动画的 CSS 属性。

speed:可选,规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。

callback:可选,动画完成后所执行的函数名称。

4.2、animate()使用相对值

也可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=

4.3、animate()使用预定义的值

可以把属性的动画值设置为 "show"、"hide" 或 "toggle“

4.4、animate()使用队列功能

可以编写多个 animate() 调用,jQuery 会创建包含这些方法调用的"内部"队列。然后逐一 运行这些 animate 调用。

5、jQuery 效果 – 停止动画 stop()

stop() 方法用于停止动画或效果,在它们完成之前

stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。

语法:

 $(selector).stop(stopAll,goToEnd);

参数:

stopAll:可选,规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许 任何排入队列的动画向后执行。

goToEnd:可选,规定是否立即完成当前动画。默认是 false。

6、jQuery – 链

(1.)通过 jQuery,可以把动作/方法链接在一起。链允许我们在一条语句中运行多个jQuery 方法(在相同的元素上)。

(2.)在这之前,我们都是一次写一条 jQuery 语句(一条接着另一条)。

(3.)不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。这样的话,浏览器就不必多次查找相同的元素。如需链接一个动作, 您只需简单地把该动作追加到之前的动作上。