说是回顾但其实我昨天下午刚刚学过,今天复盘一下。也为了以后再次使用可以快速抓到重点。
Basic Knowledge
Selector
1 $("tag.class").action()or:
1 $("tag#id").action()其中
$
是jQuery引入符,tag是html标签,class和id是标签属性中的名字。action()是某一事件。特别地,
1 $(document).ready(function(){...})在文档流加载完成后进行。和原生js中的
windows.onload
类似。
Events
鼠标事件 键盘事件 表单事件 窗口事件 click() keypress() submit() scroll() dblclick() keydown() change() resize() mouseenter() keyup() focus() mouseleave() blur() hover( , ) 鼠标事件
可以为任意标签添加。事件都是字面意思,没什么好说的。
要注意的是hover需要为鼠标悬停和离开分别指定两个事件。
键盘事件
一般对输入框等添加。
也可以对window等添加。
例如:
1
2
3
4
5 var cnt = 0;
$(window).keypress(function(){
cnt += 1;
$("p.cnt").text(cnt);
})总计在窗口中键盘被按下的次数。
表单事件
一般对input等添加。
submit()
在提交后被执行。
change()
在被改变后执行。
focus()
在被选中时执行。一个特殊用法:
1 $(selector).focus().action()由于selector被聚焦时,focus()始终处于触发状态,action()不会被触发,而当selector失去焦点,则触发action()。action()可以是
fadeOut()
等。
blur()
则在not focus时执行。
窗口事件
一般对window添加。
Chaining
jQuery为了防止重复选择同一元素而设计的语法。
1 $(selector).action1().action2()...当然,也可以写成下面形式,以求美观。
1
2
3
4 $(selector).action1()
.action2()
.action3()
...
Effects
显示,隐藏
hide()
,show()
字面意思。toggle(speed, callback)
可以用来切换hide()
和show()
,speed为速度,speed可以是”slow”, “fast”, 毫秒,callback为每次执行后的回调函数。注意,每个被选择的标签都会执行一次回调函数。
淡入,淡出
fadeIn
,fadeOut
,fadeToggle
(speed, callback)
fadeTo
将元素转为某一不透明度(0~1)。
$(selector).fadeTo(speed,opacity,callback);
滑动
- slideUp, slideDown, slideToggle(speed, callback)
动画
- $(selector).animate({params},speed,callback);
params为动画结束后该元素的css样式。- $(selector).stop(stopAll=false, goToEnd=false)在动画结束前停止动画。
stopAll是清空动画队列,goToEnd是将动画立刻完成。二者默认false。
HTML
Acquire Contents & Attributions
text()
获取或修改文本内容,无参为获取,有参为修改;
html()
获取或修改带html标签的文本内容;
val()
获取或修改表单的值。上面三种方法的回调函数:
摘自W3School:
上面的三个 jQuery 方法:text()、html() 以及 val(),同样拥有回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
实例
attr()
- 对类似
<a href="#"> </a>
这样的,如果要得到其href,只需将attr的参数传为”href”即可。- 如果要修改属性,有两种方法:
// 1. 一次改一个属性: $(selector).attr("attr1", "value"); // 2. 一次改多个属性: $(selector).attr({ "key1": "value1", "key2": "value2", ... })
添加元素
- append() 在被选元素的结尾插入内容;
- prepend() 在被选元素的开头插入内容;
- after() 在被选元素之后插入内容;
- before() 在被选元素之前插入内容。
其中after和before可以接受无限数量的参数。
删除元素
- remove() 将被选择元素连同其子元素一并删除,可以接受一个参数作为过滤器,删除被过滤出来的元素;
- empty() 清空被选择元素的子元素。
CSS
- addClass, removeClass, toggleClass() 接收参数将为选择元素增加/删除/轮换这些类。即改变class属性的内容;
- css() 单参,接收propertyname作为参数,返回其值,接收字典作为参数,修改对象的多个css属性(类似attr的语法);双参修改这一属性的值。
尺寸
遍历
AJAX(Asychronized Javascript and XML)
简单来说,就是在不重载页面的情况下调各种接口来改变页面内容。
load()
1 $(selector).load(URL, data, callback);将URL文件中的内容放入选择器中,其中URL也可以是这样的形式:”文件URL 选择器”,来从文件中筛选某些特定标签的成分。
data存有请求的状态
callback常用参数:
- responseTxt - 包含调用成功时的结果内容
- statusTXT - 包含调用的状态
- xhr - 包含 XMLHttpRequest 对象,该对象常用status和statusText两个属性。
$.get()
,$.post()
1 $.get, post(URL, data, callback)
get以GET方法从服务器获取数据。
post以POST方法向服务器上传数据。
data存有请求的状态。
Practices
输入框按下enter键进行搜索
1 | $("#input-box").keypress(function(event) { |