jQuery
基础
CDN引用jQuery
1 | <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> |
您是否很疑惑为什么我们没有在 标签中使用 type=”text/javascript” ?
在 HTML5 中,不必那样做了。JavaScript 是 HTML5 以及所有现代浏览器中的默认脚本语言!
在文档加载后执行js
1 | $(document).ready(function(){ |
这就等价于:
1 | $(function(){ |
同时等价于js中的:
1 | window.onload = function () { |
选择器
$(“ ”)就是取值。
具体用法:
元素 元素语法 | 描述 |
---|---|
$(“*“) | 选取所有元素 |
$(this) | 选取当前 HTML 元素 |
$(“p.intro”) | 选取 class 为 intro 的 元素 |
$(“p:first”) | 选取第一个 元素 |
$(“ul li:first”) | 选取第一个
|
$(“ul li:first-child”) | 选取每个
|
$(“[href]”) | 选取带有 href 属性的元素 |
$(“a[target=’_blank’]”) | 选取所有 target 属性值等于 “_blank” 的 元素 |
$(“a[target!=’_blank’]”) | 选取所有 target 属性值不等于 “_blank” 的 元素 |
$(“:button”) | 选取所有 type=”button” 的 元素 和 |
$(“tr:even”) | 选取偶数位置的 |
$(“tr:odd”) | 选取奇数位置的 |
事件
鼠标事件 | 键盘事件 | 表单事件 | 文档/窗口事件 |
---|---|---|---|
click (点击) | keypress (按了字符) | submit | load |
dblclick (双击) | keydown (按下) | change | resize |
mouseenter (指针穿过) | keyup (按下后离开) | focus (获得焦点) | scroll |
mouseleave (指针离开) | blur (失去焦点) | unload | |
hover (光标悬停) |
简单动画实例和函数
显示和隐藏
这是显示和隐藏的函数:
1 | //隐藏 |
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:”slow”、”fast” 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。
实例
1 | $(function(){ |
PS:
1.$(selector)选中的元素的个数为n个,则callback函数会执行n次;
2.callback函数名后加括号,会立刻执行函数体,而不是等到显示/隐藏完成后才执行;
3.callback既可以是函数名,也可以是匿名函数
淡入淡出方法
通过 jQuery,您可以实现元素的淡入淡出效果。
jQuery 拥有下面四种 fade 方法:
- fadeIn(speed,callback) 淡入,显示不可见元素
- fadeOut(speed,callback) 淡出,隐藏可见的元素
- fadeToggle(speed,callback) 切换两个状态
- fadeTo(speed,opacity,callback) 渐变为指定的透明度(0–1之间)
使用方法同隐藏显示。
滑动方法
通过 jQuery,您可以在元素上创建滑动效果。
jQuery 拥有以下滑动方法:
- slideDown()
- slideUp()
- slideToggle()
使用方法及参数同上,speed和callback
动画
1 | $("button").click(function(){ |
大概就是这样,这里比较复杂先跳过
jQuery链
1 | $("#p1").css("color","red") |
jQuery中可以这样写,一个函数接着一个函数,这个就叫jQuery链接进制。
HTML
获得(查)
获得内容 - text()、html()、val()
获得内容的三个函数: text()、html() 以及 val()
三个简单实用的用于 DOM 操作的 jQuery 方法:
- text() - 所选元素的文本内容
- html() - 所选元素的内容(包括 HTML 标记)
- val() - 表单字段的值
1 | $("#btn1").click(function(){ |
获取属性 - attr()
jQuery attr() 方法用于获取属性值。
下面的例子演示如何获得链接中 href 属性的值:
1 | $("button").click(function(){ |
attr 和 prop 的区别介绍:
对于 HTML 元素本身就带有的固有属性,在处理时,使用 prop 方法。
对于 HTML 元素我们自己自定义的 DOM 属性,在处理时,使用 attr 方法。
实例 1:
1 <a href="https://www.runoob.com" target="_self" class="btn">菜鸟教程</a>这个例子里
<a>
元素的 DOM 属性有: href、target 和 class,这些属性就是 **** 元素本身就带有的属性,也是 W3C 标准里就包含有这几个属性,或者说在 IDE 里能够智能提示出的属性,这些就叫做固有属性。处理这些属性时,建议使用 prop 方法。
1 <a href="#" id="link1" action="delete" rel="nofollow">删除</a>
设置(改)
设置内容
直接设置元素的值
1 | $("#btn1").click(function(){ |
回调函数
上面的三个 jQuery 方法:text()、html() 以及 val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
1 | $("#btn1").click(function(){ |
设置属性
attr()同样适用
直接设置属性的值:
1 | $("button").click(function(){ |
回调函数设置属性的值:
1 | $("button").click(function(){ |
增加(增)
添加新的元素
我们将学习用于添加新内容的四个 jQuery 方法:
- append() - 在被选元素的结尾插入内容
- prepend() - 在被选元素的开头插入内容
- after() - 在被选元素之后插入内容
- before() - 在被选元素之前插入内容
prepend()方法和append()方法:
1 | function appendText() |
after()方法和before()方法:
1 | function afterText() |
append/prepend 是在选择元素内部嵌入。
after/before 是在元素外面追加。
删除
如需删除元素和内容,一般可使用以下两个 jQuery 方法:
- remove() - 删除被选元素(及其子元素)
- empty() - 从被选元素中删除子元素
1 | //移除div1,啥都不剩 |
可以过滤进行删除:
1 | //移除所有class="italic" 的 p 元素。 |
操作 CSS
jQuery 拥有若干进行 CSS 操作的方法。我们将学习下面这些:
- addClass() - 向被选元素添加一个或多个类
- removeClass() - 从被选元素删除一个或多个类
- toggleClass() - 对被选元素进行添加/删除类的切换操作
- css() - 设置或返回样式属性
css() 方法设置或返回被选元素的一个或多个样式属性。
数据校验
引入:
1 | <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script> |
加载完成后调用:
1 | $().ready(function () { |
编写校验规则:
1 | //数据校验规则 |
常见的校验规则:
序号 | 规则 | 描述 |
---|---|---|
1 | required:true | 必须输入的字段。 |
2 | remote:”check.php” | 使用 ajax 方法调用 check.php 验证输入值。 |
3 | email:true | 必须输入正确格式的电子邮件。 |
4 | url:true | 必须输入正确格式的网址。 |
5 | date:true | 必须输入正确格式的日期。日期校验 ie6 出错,慎用。 |
6 | dateISO:true | 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。 |
7 | number:true | 必须输入合法的数字(负数,小数)。 |
8 | digits:true | 必须输入整数。 |
9 | creditcard: | 必须输入合法的信用卡号。 |
10 | equalTo:”#field” | 输入值必须和 #field 相同。 |
11 | accept: | 输入拥有合法后缀名的字符串(上传文件的后缀)。 |
12 | maxlength:5 | 输入长度最多是 5 的字符串(汉字算一个字符)。 |
13 | minlength:10 | 输入长度最小是 10 的字符串(汉字算一个字符)。 |
14 | rangelength:[5,10] | 输入长度必须介于 5 和 10 之间的字符串(汉字算一个字符)。 |
15 | range:[5,10] | 输入值必须介于 5 和 10 之间。 |
16 | max:5 | 输入值不能大于 5。 |
17 | min:10 | 输入值不能小于 10。 |