【jQuery】jQuery框架

jQuery 框架

1).jQuery特点、使用方法

概念:封装javascript代码一个框架 标语: write less do more
特点:①简化代码获得标签对象的代码
②屏蔽浏览器差异
③jquery插件 拿来即用,自带UI效果
④支持批量操作
使用步骤:
①引用jquery.js文件:实际开发中,使用jquery-xxx.min.js,功能一样、文件小、加载速度快
②在网页中使用script标签引入js文件
③使用:
	$("选择器") 	/ 作用:根据参数从网页中选择对应标签,返回
    基本选择器:
    	$("#id值")
		$(".class的值")
		$("标签名")
常用方法:
jquery的dom对象 .css("样式name","样式的值")
jquery的dom对象 .text();	//获得标签体的内容
jquery的dom对象 .text("值");	//设置标签体的内容
jquery的dom对象 .html();	//获得标签体内内容,包括标签
例如:jdom.css(“name”, “value”).css(“name”, “value”); //可以多次调用,每次调用又返回一个jQuery的dom
JavaScript的dom对象转化为jQuery对象:
var jsdom = ...;
var jqdom = $(jsdom)

2).jQuery的选择器、DOM相关方法

选择器:
	(1)基本选择器:【重点】
		ID选择器:		 $('#id值')	
		标签选择器:		$('标签名')	
		类选择器:  		 $('.class值')	
	(2)层级选择器[组合选择器]:
		$(selA SelB)  后代选择器:选择selA标签内部所有后代中的selB标签
		$(selA>SelB)  子代选择器:选择selA的直接子代元素中的SelB
		$(selA+selB)  紧邻弟弟选择器(1个)
		$(sel~sel后续弟弟)  后续所有弟弟选择器
	(3)过滤选择器
	①简单过滤选择器
    	语法: $("选择器:过滤xxx")
		:first	$(sel:first)	获得第一个元素
		:last					获得最后一个元素
		:eq(i)					获得下标i的元素
		:gt(i)					下标大于i的元素				
		:lt(i)					下标小于i的元素
		:even					下标为偶数元素
		:odd					下标为奇数元素
		:not(selector)【重点】	获得所有元素,不包含select元素	
	②内容过滤器
		:empty						标签体内部为空的标签
		:parent						标签体不为为空的元素,如果标签体内部是空白
		:contains(text)【重点】   	 包含某个text文本元素
		:has(内部后代标签selector)	过滤保留内部包含selector对应标签的元素
	③可见性过滤选择器【重点】		针对--display:none
		:visible	获得显示的标签
		:hidden		获得隐藏标签
	④属性过滤选择器:【重要】
		选择器[prop]	  含有prop属性的标签对象(明确写了prop属性)
		选择器[prop=value]	含有prop属性并且prop的属性值为value		
		*表单特有的过滤:
			:checked	过滤保留被选中的元素(复选框,单选扭)
			:selected	被选中的元素
DOM相关方法:
访问属性方法:包括属性、标签体、样式
①.text()  						获得标签体的普通文本
	  	.text("")  					修改签的普通文本
②.css("样式名字","样式的值")  	设置标签的样式.
	 	.css("样式名字")  				获得样式的值
③.html()  						获得标签体的内容(包含了标签)
	  	.html("内容")					修改标签体内容,可包含标签
④.val()  						获得input标签的value属性值 [相当js   dom.value]
	  	.val("文字")					修改input标签的value值。
⑤.prop("属性名","属性值")  		设置标签的属性名对应的值
      .prop("属性名")   			获得标签的属性值
⑥select标签获得被选中的选项的下标
			$("下拉列表").prop("selectedIndex");
      获得所有选项:
			$("select").prop("options");

3).jQuery基于编程的事件绑定、及DOM操作方法、函数操作

(1)事件绑定
核心语法:jQuery的dom对象.on("事件名称",事件函数);
实例代码:
$("xx").on("click",function(event){ 	// event是事件对象,是一次单机事件
    // event.target   	事件的源标签  	javascript类型的dom对象
    // this 			事件源对象      javascript类型的dom对象
    $(this).text(); //将JavaScript对象转为jQuery的dom对象,在调用其方法
})
动态绑定事件:
$("xx").live("click",function(){
    //动态为后添加的元素,只要符合 选择器的条件,动态增加事件绑定
});
事件名称:
click、dblclick、blur、change、focus、load、mouseover、mousemove、submit
网页加载绑定事件:
$(function(){
    //网页加载完毕之后,调用
});
(2)jQueryDOM操作方法
① 创建标签:var jqDom = $("<td colspan='2'></td>");
② 添加标签:$("#tr").append($("<td>武松</td>"));
③ 删除本标签:dom.remove();
④ 清空内部:
		dom.empty();
		dom.html("");
⑤ 找到弟弟标签(同级下一个)
		dom.next();
⑥ 找到哥哥标签(同级上一个)
		dom.prev();
⑦ 所有儿子标签(所有下级)
		dom.children();
⑧ 找到直接父标签标签(上一级)
		dom.parent();
(3)补充函数
①jquerydom对象多个
	jqdom.size();//jquery对象中元素个数
②获得i下标元素
	jqdom.get(i);		//获得i下标的dom对象(javascript类型的dom对象)
	jqdom.eq(i);		//获得i下标的dom对象(jQuery类型的dom对象)
③专门遍历jqueyrdom的方法
jqDom数组.each(function(i,e){
    //每次遍历运行
    //得到当前对象 e(javascript类型的dom对象)
    // $(e) jquery类型的
    $(e)
    //得到当前遍历的下标 i
});
④数据绑定函数
	jqDom.data("key",value);//将value的以key为名字,绑定在jqDOmd的标签上
	jqDom.data("key");//获得绑定在jqDOm标签上名字为key的值
⑤find("选择器")[jQuery自定义插件][了解]
	语法: jqDOM.find("选择器");
	从jqDOm标签内部(后代标签中)查找,符合参数选择器的标签返回

4).jQuery动画效果

效果方法
①显示消失
    show();			将标签从隐藏状态下逐步变成显示状态
    show(毫秒);		显示过程所花的时间
    hide();			将标签消失。
    hide(毫秒);		消失过程所消耗的时间
②淡入淡出
	fadeIn(毫秒)		淡入(显示)
	fadeOut(毫秒);	淡出(消失)
③卷动效果:(卷帘门效果)
	slideDown(毫秒)	卷下显示
	slideUp(毫秒)    	卷上消失
④自定义效果:
标签dom.animate(样式对象,毫秒值); 		//含义: 使用一定的事件变化成指定的样式效果
	样式对象:
		{"font-size":"100px","margin-left":"100px"}	

5).jQuery插件使用(消息框、图片放大镜、日期输入框、表单验证)

(1)消息框:toastr
① 引入js文件
	jquery的js文件
	toastr js文件
② 引入相关的css文件
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.min.js"></script>
	<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.validate.js"></script>
	<script type="text/javascript" src="${pageContext.request.contextPath}/js/message_zh_CN.js"></script>
语法:toastr.info("消息文字");
	  toastr方法:
    	 info("消息框文字","标题")    	普通消息(主题)
		 success("绿色文字")   		成功消息
         warning("")
		 error("");
(2)放大镜
① 导入资源:jquery文件、放大镜的js文件、css文件
   	<script src="${pageContext.request.contextPath }/js/jquery-1.8.3.min.js"></script>
   	<script src="${pageContext.request.contextPath }/js/jquery.jqzoom-core.js"></script>
   	<link rel="stylesheet" href="${pageContext.request.contextPath }/css/jquery.jqzoom.css" />
② 使用放大
a. 准备一个img图(小):<img src="small.jpg">
b. img外部套一个a标签,将大图的路径放在a标签的href
   	<a href="大图路径">  <img src="small.jpg"> 	</a>
c. 使用放大镜插件,添加放大效果和事件绑定。
   $("a标签").jqzoom();
(3)日期插件
① 引入资源
	注意:	导入项目的资源全部导入,文件相对路径最好不要改变
引入:<script src="${pageContext.request.contextPath }/datepicker/WdatePicker.js"></script>
② 给input输入框添加日历图标效果.
	<input class="Wdate">
③ 提供好了显示日历的事件函数  WdatePicker
	<input class="Wdate" onclick="WdatePicker()">
(4)表单验证插件
①导入资源文件、引入页面
<script src="${pageContext.request.contextPath }/js/jquery-1.8.3.min.js"></script>
<script src="${pageContext.request.contextPath }/js/jquery.validate.js"></script>
<script src="${pageContext.request.contextPath }/js/message_zh_CN.js"></script>   
<script type="text/javascript" src="${pageContext.request.contextPath}/datepicker/WdatePicker.js"></script>
②验证:
	$(function() {
		$("#fm").validate({   		//获取form表单、调用validate({ })
			"rules" : {				//给对应的表单项加验证规则
				"user.username" : {"required" : true, "minlength" : 2},		//根据name值获取标签、后面为验证对象
				"user.password" : {"required" : true, rangelength : [2, 10]}, //不为空、长度在2~10
				"user.realName" : {"required" : true, "minlength" : 2},
				"user.mobile" : {"required" : true, "minlength" : 11,"maxlength" : 11}
			},
			"messages" : {
				"user.username" : {"required" : "不能为空", "minlength" : "长度不能小于2"}//修改提醒文字
}
		});
	});
注意:
<style>
	.error{ color: red;} //将所有的文本框提醒文字为红色
</style>
原文地址:https://www.cnblogs.com/jwnming/p/13634955.html