我的jQuery学习总结

一、选择器

1. 基本选择器

#id 通过元素的id属性来匹配元素
element 通过的元素的名称来匹配元素
selector1,selector2 群组选择器,多个条件之间是通过逗号隔开的
.class 通过元素的class属性来匹配元素

2. 层级选择器

ancetor descendant 匹配祖先元素下的所有后代元素
parent > child 匹配父元素下的所有子元素
prev + next 匹配上一个元素紧邻的下一个同级元素
prev ~ siblings 匹配上一个元素下面的所有同级元素

3. 简单选择器

:first 匹配第一个元素 
:last 匹配最后一个元素
:even 匹配所有的偶数
:odd 匹配所有的奇数 
:eq(index) 匹配索引等于index的元素,默认索引从0开始
:gt(index) 匹配大于index的元素
:lt(index) 匹配小于index的元素
:not(selector) 匹配除selector选择器以外的其他元素

4. 内容选择器

:contains(text) 匹配内容包含text的元素
:empty 匹配内容为空的元素
:has(selector) 匹配具有指定选择器的元素(和not(selector)正好相反)
:parent 匹配具有子元素的元素(匹配内容不为空的元素)

5. 可见性选择器

:hidden 匹配所有隐藏元素,display:none或input type='hidden'
:visible 匹配所有可见元素

6. 属性选择器

[attribute] 匹配具有指定属性的元素
[attribute=value] 匹配属性值等于value的元素
[attribute!=value] 匹配属性值不等于value的元素
[attribute^=value] 匹配属性值以value开始的元素
[attribute$=value] 匹配属性值以value结尾的元素
[attribute*=value] 匹配属性值包含value的元素
[selector1][selector2][selectorN] 匹配同时具有多个属性的元素

7. 子元素选择器

:nth-child(index/even/odd) 匹配索引等于index/eve/odd的子元素,默认从1算起
:first-child 匹配第一个子元素
:last-child 匹配最后一个子元素
:only-child 如果当前元素是唯一的子元素,则匹配

8. 表单元素选择器

:input 匹配所有表单元素,包括textarea与select下拉选框
:text 匹配所有的文本框
:password 匹配所有的密码框
:radio 匹配所有的单选按钮
:checkbox 匹配所有的复选框
:submit 匹配所有的提交按钮
:reset 匹配所有的重置按钮
:image 匹配所有的图像域(input type='image')
:button 匹配所有的按钮(input type='button')
:file 匹配所有的文件域
:hidden 匹配所有隐藏表单

9. 表单对象属性选择器

:enabled 匹配所有可用的表单元素
:disabled 匹配所有不可用的表单元素
:checked 匹配所有选中的值
:selected 匹配所有下拉选中的值

问题1:在jQuery中,$(':input')与$('input')区别?
答::input是匹配所有表单元素,包括了textarea与select下拉
input只能匹配以input开头的10种表单元素

问题2:在input表单元素中,readonly与disabled区别?
答:readonly可以通过http进行传值,但是disabled是没有办法传递的。

二、常用属性

1. 基本属性

attr(name) 获取指定元素的name属性
attr(key,value) 设置元素的属性
attr(properties) 一次为元素设置多个属性,要求参数是一个json格式的数据
attr(key,fn) 通过一个函数的返回值设置元素的属性
removeAttr(name) 移除元素的某个属性

2. class属性

addClass(class) 为某个元素添加class样式
removeClass(class) 移除元素的某个class样式
toggleClass(class) 切换样式,如果存在则移除样式,反之,则添加样式
hasClass(class) 判断元素是否具有某个class样式

3. css属性

css(name) 获取元素的css属性
css(name,value) 设置元素的css属性
css(properties) 依次为元素设置多个css属性,要求参数是一个json格式的数据

4. 位置操作

offset() 获取元素的位置,返回一个json格式的数据,包含了left与top属性
offset(coordinates) 设置元素的位置,要求参数是一个json格式的数据,必须包含left与top两个属性

5. 尺寸操作

width() 获取元素的宽度
width(value) 设置元素的宽度
height() 获取元素的高度
height(value) 设置元素的高度

6. 文本/值操作

相当于源代码中的innerHTML属性

html() 获取双标签元素的内容
html(val) 设置双标签元素的内容

相当于源代码中的value属性

val() 获取表单元素的内容
val(val) 设置表单元素的内容

相当于源代码中的innerText属性

text() 获取双标签元素的内容
text(val) 设置双标签元素的内容

说明:

实际项目开发中:通常使用html来获取双标签的内容,而通过val方法来获取表单元素的内容。
html标签和text标签对文本数据的获取效果是一致的,但是如果标签中又包含了子标签,那么通过html可以正常获取,但是使用text方法只能获取文本数据
html标签设置的内容中如果包含了html标签,其可以正常解析
text标签设置的内容中如果包含了html标签,其会作为普通文本直接输出

三、事件编程

1. 基本事件

blur(fn) 当失去焦点时触发
change(fn) 当状态改变时触发
click(fn) 当单击时触发
dblclick(fn) 当双击时触发
focus(fn) 当获得焦点时触发
keydown(fn) 当键盘按下时触发
keyup(fn) 当键盘弹起时触发
keypress(fn) 当键盘按下时触发
load(fn) 功能与ready方法类似,页面载入后触发
unload(fn) 页面关闭时触发
mousedown(fn) 鼠标按下时触发
mouseup(fn) 鼠标弹起时触发
mousemove(fn) 当鼠标移动时触发
mouseover(fn) 当鼠标悬浮时触发
mouseout(fn) 当鼠标离开时触发
resize(fn) 当窗口大小改变时触发
scroll(fn) 当滚动条滚动时触发
select(fn) 当文本框的文本选中时触发
submit(fn) 当表单提交时触发

2. 事件切换

hover(over,out)

鼠标悬浮与鼠标离开事件

over:鼠标悬浮时所触发的事件处理程序(函数)

out:鼠标离开时所触发的事件处理程序(函数)

toggle(fn,fn)

点击触发事件,顺序触发

fn:当第一次单击时,所触发的事件处理程序

fn:当第二次单击时,所触发的事件处理程序

3. 事件绑定

bind(type,[data],fn) 为元素绑定相关事件
bind({type:fn,type:fn}) 为元素绑定多个事件,要求参数是一个json格式的数据
one(type,[data],fn) 为元素事件进行一次绑定
unbind([type]) 移除事件

参数说明:
type:事件类型,不带'on'前缀,如click、mouseover、mouseout
[data]:事件发生时所传递的参数(了解)
fn:事件的处理程序

四、动画效果

1. 基本效果

show() 显示
show(speed,[callback]) 以动画效果显示
hide() 隐藏
hide(speed,[callback]) 以动画效果隐藏
toggle() 切换显示或隐藏,如果元素是显示的,则隐藏,反之,则显示
toggle(switch) 显示或隐藏开关,如为true,则显示,如为false,则隐藏
toggle(speed,[callback]) 以动画效果显示或隐藏

参数说明:
speed:动画速度(动画的持续时间,单位是毫秒)
如果是速度,可以是如下几个值:
speed:"slow", "normal", "fast"
callback:动画完成时,所触发的回调函数

2. 滑动效果

slideDown(speed,[callback]) 以动画效果向下滑动
slideUp(speed,[callback]) 以动画效果向上滑动
slideToggle(speed,[callback]) 以动画效果向上或向下滑动

参数说明:
speed:动画持续事件
callback:动画完成时,所触发的回调函数

3. 淡入淡出效果

fadeIn(speed,[callback]) 以动画效果淡入
fadeOut(speed,[callback]) 以动画效果淡出
fadeTo(speed,opacity,[callback]) 以动画效果设置元素的透明度,0全透明1不透明

参数说明:
speed:动画的持续事件
callback:动画完成时,所触发的回调函数
opactity:元素的透明度,0全透明1不透明,0-1半透明效果

4. 自定义动画

animate(params,[speed])设置自定义动画  

参数说明:
params:要求是一个json格式的数据
speed:动画的持续时间

五、文档操作

1. 内部插入

append(content) 在元素的尾部插入指定的内容content
appendTo(content) 将匹配到的内容插入到指定内容content的尾部
prepend(content) 在元素的头部插入指定的内容content
prependTo(content) 将匹配到的内容插入到指定内容content的头部

2. 外部插入

after(content) 在元素尾部插入内容content
before(content) 在元素头部插入内容content
insertAfter(content) 将匹配的内容插入到content元素的尾部
insertBefore(content) 将匹配的内容插入到content元素的头部

3. 删除操作

empty() 清空元素的内容,但不清除元素本身
remove() 移除元素(包括元素的内容和元素本身)

4. 复制操作

clone() 克隆元素
clone(true) 克隆元素本身同时克隆元素本身的事件

5. 替换操作

html() 值替换
replaceWith() 节点替换

6. 包裹操作

wrap() 对所有匹配的元素进行单独包裹
wrapAll() 对所有匹配的元素进行统一包裹,只包裹一次
wrapInner() 对所有匹配的元素的内容进行单独包裹

7. 查找操作

eq(index) 根据元素的索引index查找元素,默认从0开始
filter(expr) 过滤元素(过滤不是移除,只是缩小查询到范围)
not(expr) 匹配出指定元素外的其他元素
children([expr]) 匹配当前元素的所有子元素
find(expr) 匹配当前元素的所有后代元素
next([expr]) 匹配当前元素紧邻的下一个元素
prev([expr]) 匹配当前元素紧邻的上一个元素
parent([expr]) 匹配当前元素的父元素
siblings() 匹配当前元素的所有同级兄弟元素

 

posted @ 2016-09-01 21:01  chenjiacheng  阅读(142)  评论(0编辑  收藏  举报