jQuery高级

一.jQuery遍历

1.原始方式遍历

for(var i=0;i<元素数组.length;i++){
  	元素数组[i];
}

2. jQuery对象方法遍历

jquery对象.each(function(index,element){});

其中:(参数名字随便取的)
index:就是元素在集合中的索引
element:就是集合中的每一个元素对象

3. jquery的全局方法遍历

$.each(jquery对象,function(index,element){});

其中,
index:就是元素在集合中的索引
element:就是集合中的每一个元素对象

4. jQuery3.0新特性for of语句遍历

for(变量 of jquery对象){
  	变量;
}

其中,
变量:定义变量依次接受jquery数组中的每一个元素
jquery对象:要被遍历的jquery对象

二.使用JQ操作DOM

1.jQuery对DOM树中的文本(标签内容)和值进行操作

API方法解释
val([value])获得/设置标签里面value属性相应的值
text([value])获得/设置元素的文本内容
html([value])获得/设置元素的标签体内容
val()       获得标签里面value属性的值   value属性的封装  
val("...")    给标签value属性设置值

html()      获得标签的内容,如果有标签,一并获得。    
html("....)  设置html代码,如果有标签,将进行解析。支持标签 封装了innerHTML


text()		获得标签的内容,如果有标签,忽略标签。
text("..."")	设置文本,如果含有标签,把标签当做字符串.不支持标签

2.jQuery创建,插入

API方法解释
$(“A”)创建A元素对象
append(element)添加成最后一个子元素,两者之间是父子关系
prepend(element)添加成第一个子元素,两者之间是父子关系
appendTo(element)添加到父元素的内部最后面
prependTo(element)添加到父元素的内部最前面
before(element)添加到当前元素的前面,两者之间是兄弟关系
after(element)添加到当前元素的后面,两者之间是兄弟关系
  • 内部插入:父节点/子字点之间操作
	append		a.append(c), 将c插入到a的内部的后面;   添加最小的孩子(eg:唐僧收沙悟净)
				<a>
					...
					<c></c>
				</a>
	prepend		a.prepend(c),将c插入到a的内部的前面;    添加最大的孩子(eg:唐僧收孙悟空)
			
				<a>
					<c></c>
					...
				</a>
	
	---------------------------------------------------------------------------------
	appendTo	a.appendTo(c), 将a插入到c的内部的后面;   最小的孩子认干爹(eg:沙悟净拜师)
	
				<c>
					...
					<a></a>
				</c>
	
	prependTo	a.prependTo(c),将a插入到c的内部的前面 ; 最大的孩子认干爹(eg:孙悟空拜师) 
	
				<c>
					<a></a>
					...
				</c>
  • 外部插入: 兄弟节点之间操作
after   a.after(c);       哥哥找弟弟 (eg:八戒找沙师弟)
		<a></a><c></c>
before  a.before(c);      弟弟找哥哥 (eg:八戒找孙悟空)
		<c></c><a></a>

3.jQuery移除节点(对象)

API方法解释
remove()删除指定元素(自己移除自己)
empty()清空指定元素的所有子元素

三.jQuery插件

1.什么是jq插件

	插件就是以jquery为基础进行扩展具有特定功能的代码,就是jquery插件。例如:图片轮播、选项卡等。

   http://www.jq22.com  插件网站 

2.jQuery的插件机制

jQuery插件的机制说白了就是插件实现原理.  

其实就是利用jQuery提供的$.fn.extend() 和$.extend() 方法,扩展jQuery的功能。

3. jQuery插件机制语法

语法解释方法例子
$.fn.extend(object)对jQuery对象进行方法扩展jq对象.each();
$.extend(object)对jQuery全局进行方法扩展$.each();

4.自定义jq插件

  • 对jQuery对象进行方法扩展
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>01-jQuery对象进行方法扩展</title>
    <script src="../js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
        /*
        * jquery插件:用于对jquery进行扩展
        *    1.对jquery对象方法扩展
        *    2.对jquery全局方法扩展
        * */
        $(function () {
            //扩展jquery对象增加让复选框选中的方法,方法名:check
            $.fn.extend({
                check: function () {
                    this.prop("checked", true);
                },
                uncheck: function () {
                    this.prop("checked", false);
                }
            });
        });

        function checkFn() {
            //调用扩展方法check,实现让复选框选中
            $("input:checkbox").check();
        }

        function uncheckFn() {
            //调用扩展方法uncheck,实现让复选框不选中
            $("input:checkbox").uncheck();
        }
    </script>
</head>
<body>
  <input id="btn-check" type="button" value="点击选中复选框" onclick="checkFn()">
  <input id="btn-uncheck" type="button" value="点击取消复选框选中" onclick="uncheckFn()">
  <br/>
  <input type="checkbox" value="football">足球
  <input type="checkbox" value="basketball">篮球
  <input type="checkbox" value="volleyball">排球
</body>
</html>
  • 对jQuery全局进行方法扩展
    <script type="text/javascript">
        $.extend({
            //定义js对象的min属性,值是一个函数,返回a与b比较的最小值
            min: function (a, b) {
                return a < b ? a : b;
            },
            //定义js对象的max属性,值是一个函数,返回a与b比较的最大值
            max: function (a, b) {
                return a > b ? a : b;
            }
        });
        alert($.max(3, 5));
    </script>

五.表单校验插件validation

1.validation概述

网络上有许多成熟的插件共使用者参考,插件就是将jquery实现的常用操作进行封装,封装后的“小框架“就可以叫做插件,按照插件的语法去操作可以实现很多复杂的功能,而我们需要做的是学会该插件的使用语法即可。表单校验插件是按照一定的语法编写代码,可以使用简单的代码完成复杂的表单校验工作

validation是进行数据校验的插件, 通常用在表单上面,内部就封装了正则表达式

2.validation下载

官网地址:http://jqueryvalidation.org/files/jquery-validation-1.15.0.zip

帮助文档位置:http://jqueryvalidation.org/documentation/

3.validation使用步骤

  • 将该插件(也就是一个js文件)导入到我们的工程中
  • 在要使用校验插件的html中引入该js文件【先导入jq】
<!--依赖的jQuery库-->
<script src="../js/jquery-1.8.3.js" type="text/javascript" charset="utf-8" />
<!--validation校验库-->
<script src="../js/jquery.validate.js" type="text/javascript" charset="utf-8" />
  • 编写表单校验的代码(语法)
<script type="text/javascript">

    $(function() {

        $("#formId").validate(
        	{
        		key:value
        	}
        );

    });
</script>

4. 检验方式:js 代码方式

语法:
$().validate({
	rules:{},
	messages:{}
});

rules 规则语法:
	rules:{
		字段名(标签的name的属性值):校验器,
		字段名(标签的name的属性值):校验器
	}
	
校验器语法:
	语法:{校验器:,校验器:,...}
	
message 提示语法:
	messages:{
		字段名:{校验器:"提示",校验器:"提示",...}
	}
序号规则描述
1required:true必须输入的字段。
2remote:“check.php”使用 ajax 方法调用 check.php 验证输入值。
3email:true必须输入正确格式的电子邮件。
4url:true必须输入正确格式的网址。
5date:true必须输入正确格式的日期。日期校验 ie6 出错,慎用。
6dateISO:true必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。
7number:true必须输入合法的数字(负数,小数)。
8digits:true必须输入整数。
9creditcard:必须输入合法的信用卡号。
10equalTo:"#id名"输入值必须和 #id对应的标签对象的值 相同。
11accept:输入拥有合法后缀名的字符串(上传文件的后缀)。
12maxlength:5输入长度最多是 5 的字符串(汉字算一个字符)。
13minlength:10输入长度最小是 10 的字符串(汉字算一个字符)。
14rangelength:[5,10]输入长度必须介于 5 和 10 之间的字符串(汉字算一个字符)。
15range:[5,10]输入值必须介于 5 和 10 之间。
16max:5输入值不能大于 5。
17min:10输入值不能小于 10。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值