JavaWeb第十五天

JQuery

1、基础

概念
  一个JavaScript的框架,简化JS开发
  JavaScript框架:本质上就是封装了js原生代码的js文件
快速入门
步骤:
(1)下载JQuery
  三大版本:
   1.兼容IE678 使用最广泛 官方只做bug维护,不再新增功能 一般项目够用
   2.不兼容IE678 很少人使用 官方只做bug维护,不再新增功能
   3.不兼容IE678 只支持最新的浏览器 是官方主要更新维护的版本
     很多老的jQuery插件不支持这个版本
  .js与.min.js的区别
    .js 开发版本 有良好的缩进和注释 可读性强 体积大
    .min.js 生产版本 程序中使用 没有缩进 体积小 程序加载更快
(2)导入JQuery的js文件
  导入.min.js
  JQuery对象和JS对象的区别与转换
  区别
    jQuery对象在操作时更加方便
    jQuery对象和js对象的方法不通用 如js的innerHTML和jQuery的html()
  jQuery转js
    jQuery对象[索引]或jQuery对象.get(索引) 使用jQuery方式获取到的是一个Object
    对象,可以当作一个数组
  js转jQuery $(js对象)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery快速入门</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
    <div id="div1">div1...</div>
    <div id="div2">div2...</div>
<script>
    //使用jQuery获取元素对象
   var div1 = $("#div1");
   alert(div1.html());
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery对象和js对象的区别和转换</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
    <div id="div1">div1...</div>
    <div id="div2">div2...</div>
    <p>js对象</p>
    <span>jQuery对象</span>
<script>
    //通过js的方式获取标签名为div的所有元素对象
    var divs = document.getElementsByTagName("div");//可以将其当作数组使用
    //alert(divs.length);
    //让所有的div对象的标签体变为aaa
    for (var i = 0; i < divs.length; i++) {
        divs[i].innerHTML = "aaa";
    }
    //通过jQuery的方式获取标签名为div的所有元素对象
    var div = $("div");//也可以当作数组使用
    //alert(div.length);
    //让所有的div对象的标签体变为bbb
    div.html("bbb");
    //js转jq
    var p = document.getElementsByTagName("p");
    $(p).html("jQuery对象");
    //jq转js
    var span = $("span");
    span[0].innerHTML = "js对象";
</script>
</body>
</html>

选择器
  筛选具有相似特征的元素(标签)
  基本语法学习
    事件绑定
    入口函数 DOM文档加载完成后执行该函数中的代码
      js中:
        window.onload = function() {
        }
      jQuery中:$(function() {});
      区别:window.onload只能定义一次,定义多次后面的会覆盖前面的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件绑定</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
    <input type="button" id="b1" value="点击">
<script>
    //给b1按钮添加单击事件
    $("#b1").click(function () {
        alert("aaa");
    });
</script>
</body>
</html>

样式控制
      css函数
        如$("#div1").css("background-color", "pink");
         $("#div1").css("backgroundColor", "pink");
  基本选择器
    标签选择器(元素选择器)
      $("html标签名") 获得所有匹配标签名称的元素
    id选择器
      $("#id属性值") 获得与指定id属性值匹配的元素
    类选择器
      $(".class属性值") 获得与指定class属性值匹配的元素
    并集选择器
      $("选择器1, 选择器2")

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>基本选择器</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
	<style type="text/css">
		 	div,span{
			    width: 180px;
			    height: 180px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div .mini{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			div .mini01{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			
			
	 </style>
	<script type="text/javascript">
		$(function () {
			//改变 id 为 one 的元素的背景色为 红色
			$("#b1").click(function () {
				$("#one").css("background-color", "red");
			});
			//改变元素名为 <div> 的所有元素的背景色为 红色
			$("#b2").click(function () {
				$("div").css("background-color", "red");
			});
			//改变 class 为 mini 的所有元素的背景色为 红色
			$("#b3").click(function () {
				$(".mini").css("background-color", "red");
			});
			//改变所有的<span>元素和 id 为 two 的元素的背景色为红色
			$("#b4").click(function () {
				$("span, #two").css("background-color", "red");
			});
		});
	</script>
   
	</head>
	 
	<body>
				
		 <input type="button" value="保存"  class="mini" name="ok"  class="mini" />
		 <input type="button" value="改变 id 为 one 的元素的背景色为 红色"  id="b1"/>
		 <input type="button" value=" 改变元素名为 <div> 的所有元素的背景色为 红色"  id="b2"/>
		 <input type="button" value=" 改变 class 为 mini 的所有元素的背景色为 红色"  id="b3"/>
		 <input type="button" value=" 改变所有的<span>元素和 id 为 two 的元素的背景色为红色"  id="b4"/>
		
 
		 <h1>有一种奇迹叫坚持</h1>
		 <h2>自信源于努力</h2>
		 
	   <div id="one">
	    	 id为one       
		 </div>
		
		 <div id="two" class="mini" >
	    	   id为two   class是 mini 
		       <div  class="mini" >class是 mini</div>
		 </div>
		
		 <div class="one" >
		 	    class是 one 
		       <div  class="mini" >class是 mini</div>
			   <div  class="mini" >class是 mini</div>
		 </div>
		 <div class="one" >
		 	  class是 one 
		       <div  class="mini01" >class是 mini01</div>
			   <div  class="mini" >class是 mini</div>
		</div>
		

		<span class="spanone">class为spanone的span元素</span>
		<span class="mini">class为mini的span元素</span>
		

		<input type="text" value="zhang" id="username" name="username">
	
	</body>	
</html>

层级选择器
    后代选择器
      $("A B") 选择A元素内部的所有B元素
    子选择器
      $("A > B") 选择A元素内部的所有B子元素

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>层次选择器</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
	<style type="text/css">
		 	div,span{
			    width: 180px;
			    height: 180px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div .mini{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			div .mini01{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
	 </style>
    <script type="text/javascript">
		$(function () {
			//改变body内所有div的背景色为红色
			$("#b1").click(function () {
				$("body div").css("background-color", "pink");
			});
			//改变body内子div的背景色为红色
			$("#b2").click(function () {
				$("body > div").css("background-color", "pink");
			});
		});
	</script>
   
	</head>
	 
	<body>
				
		 <input type="button" value="保存"  class="mini" name="ok"  class="mini" />
		 <input type="button" value=" 改变 <body> 内所有 <div> 的背景色为红色"  id="b1"/>
		 <input type="button" value=" 改变 <body> 内子 <div> 的背景色为 红色"  id="b2"/>
		
 
		 <h1>有一种奇迹叫坚持</h1>
		 <h2>自信源于努力</h2>
		 
	     <div id="one">
	    	 id为one  
		     
		 </div>
		
		 <div id="two" class="mini" >
	    	   id为two   class是 mini 
		       <div  class="mini" >class是 mini</div>
		</div>
		
		 <div class="one" >
		 	    class是 one 
		       <div  class="mini" >class是 mini</div>
			   <div  class="mini" >class是 mini</div>
		 </div>
		 <div class="one">
		 	  class是 one 
		       <div  class="mini01" >class是 mini01</div>
			   <div  class="mini" >class是 mini</div>
		</div>
		
		
		<span class="spanone">    span
		</span>
		
	</body>
	
	
</html>




属性选择器
    属性名称选择器
      $("A[属性名]") 选择包含指定属性的元素
    属性选择器
      $("A[属性名='值']") 选择包含指定属性,且属性只为指定值的元素
      $("A[属性名!='值']") 选择不包含指定属性,或属性值不为指定值的元素
      $("A[属性名^='值']") 选择包含指定属性,且属性值以指定值开头的元素
      $("A[属性名$='值']") 选择包含指定属性,且属性值以指定值结尾的元素
      $("A[属性名*='值']") 选择包含指定属性,且属性值包含指定值的元素
    复合属性选择器
      $("A[属性名='值'][]...")
        选择包含指定的多个属性,且对应属性值为指定值的元素
        选取有属性id的div元素,然后在结果中选取属性title值含有“es”的 div 元素
        $("div[id][title*= 'es']")

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>属性过滤选择器</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
	<style type="text/css">
		 	div,span{
			    width: 180px;
			    height: 180px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div .mini{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			div .mini01{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			
			div.visible{
				display:none;
			}
	 </style>
	 <script type="text/javascript">
		$(function () {
			$(function () {
				//含有属性title 的div元素背景色为红色
				$("#b1").click(function () {
					$("div[title]").css("background-color", "pink");
				});
				//属性title值等于test的div元素背景色为红色
				$("#b2").click(function () {
					$("div[title = 'test']").css("background-color", "pink");
				});
				//属性title值不等于test的div元素(没有属性title的也将被选中)背景色为红色
				$("#b3").click(function () {
					$("div[title != 'test']").css("background-color", "pink");
				});
				//属性title值 以te开始 的div元素背景色为红色
				//正则表达式中^表示开始 $表示结束
				$("#b4").click(function () {
					$("div[title^= 'te']").css("background-color", "pink");
				});
				//属性title值 以est结束 的div元素背景色为红色
				$("#b5").click(function () {
					$("div[title$= 'est']").css("background-color", "pink");
				});
				//属性title值 含有es的div元素背景色为红色
				$("#b6").click(function () {
					$("div[title*= 'es']").css("background-color", "pink");
				});
				//选取有属性id的div元素,然后在结果中选取属性title值含有“es”的 div 元素背景色为红色
				$("#b7").click(function () {
					$("div[id][title*= 'es']").css("background-color", "pink");
				});
			});
		});
	 </script>
   
	 
	</head>
	 
	<body>
				
		 <input type="button" value="保存"  class="mini" name="ok"  class="mini" />
		 <input type="button" value=" 含有属性title 的div元素背景色为红色"  id="b1"/>
		 <input type="button" value=" 属性title值等于test的div元素背景色为红色"  id="b2"/>
		 <input type="button" value=" 属性title值不等于test的div元素(没有属性title的也将被选中)背景色为红色"  id="b3"/>
		 <input type="button" value=" 属性title值 以te开始 的div元素背景色为红色"  id="b4"/>
		 <input type="button" value=" 属性title值 以est结束 的div元素背景色为红色"  id="b5"/>
		 <input type="button" value="属性title值 含有es的div元素背景色为红色"  id="b6"/>
		 <input type="button" value="选取有属性id的div元素,然后在结果中选取属性title值含有“es”的 div 元素背景色为红色"  id="b7"/>
		 
		 
	   <div id="one">
	    	 id为one   div  
		 </div>
		
		 <div id="two" class="mini"  title="test">
	    	   id为two   class是 mini  div  title="test"
		       <div  class="mini" >class是 mini</div>
		</div>
		
		 <div class="visible" >
		 	    class是 one 
		       <div  class="mini" >class是 mini</div>
			   <div  class="mini" >class是 mini</div>
		 </div>
		 <div class="one" title="test02">
		 	  class是 one    title="test02"
		       <div  class="mini01" >class是 mini01</div>
			   <div  class="mini" style="margin-top:0px;">class是 mini</div>
		</div>
		
		
		<div class="visible" >
		 	  这是隐藏的
		</div>
		
		<div class="one">
			
		</div>
		
		<div id="mover" >
		 	  动画
		</div>
		
		<input type="text" value="zhang" id="username" name="username">
	</body>
	
	
   
</html>




过滤选择器
    头元素选择器
      :first 获得选择的元素中的第一个元素
    尾元素选择器
      :last 获得选择的元素中的最后一个元素
    非元素选择器
      :not(selector) 不包含指定内容的元素
    偶数选择器
      :even 偶数 从0开始计数
    奇数选择器
      :odd 奇数 从0开始计数
    等于索引选择器
      :eq(index) 指定索引元素
    大于索引选择器
      :gt(index) 大于指定索引元素
    小于索引选择器
      :lt(index) 小于指定索引元素
    标题选择器
      :header 获得标题元素 固定写法

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>基本过滤选择器</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
	<style type="text/css">
		 	div,span{
			    width: 180px;
			    height: 180px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div .mini{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			div .mini01{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
	 </style>
	<script type="text/javascript">
		$(function () {
			//改变第一个 div 元素的背景色为 红色
			$("#b1").click(function () {
				$("div:first").css("background-color", "pink");
			});
			//改变最后一个 div 元素的背景色为 红色
			$("#b2").click(function () {
				$("div:last").css("background-color", "pink");
			});
			//改变class不为 one 的所有 div 元素的背景色为 红色
			$("#b3").click(function () {
				$("div:not(.one)").css("background-color", "pink");
			});
			//改变索引值为偶数的 div 元素的背景色为 红色
			$("#b4").click(function () {
				$("div:even").css("background-color", "pink");
			});
			//改变索引值为奇数的 div 元素的背景色为 红色
			$("#b5").click(function () {
				$("div:odd").css("background-color", "pink");
			});
			//改变索引值为大于 3 的 div 元素的背景色为 红色"
			$("#b6").click(function () {
				$("div:gt(3)").css("background-color", "pink");
			});
			//改变索引值为等于 3 的 div 元素的背景色为 红色"
			$("#b7").click(function () {
				$("div:eq(3)").css("background-color", "pink");
			});
			//改变索引值为小于 3 的 div 元素的背景色为 红色"
			$("#b8").click(function () {
				$("div:lt(3)").css("background-color", "pink");
			});
			//改变所有的标题元素的背景色为 红色
			$("#b9").click(function () {
				$(":header").css("background-color", "pink");
			});
		});
	</script>
	</head>
	 
	<body>
				
		 <input type="button" value="保存"  class="mini" name="ok"  class="mini" />
		 <input type="button" value=" 改变第一个 div 元素的背景色为 红色"  id="b1"/>
		 <input type="button" value=" 改变最后一个 div 元素的背景色为 红色"  id="b2"/>
		 <input type="button" value=" 改变class不为 one 的所有 div 元素的背景色为 红色"  id="b3"/>
		 <input type="button" value=" 改变索引值为偶数的 div 元素的背景色为 红色"  id="b4"/>
		 <input type="button" value=" 改变索引值为奇数的 div 元素的背景色为 红色"  id="b5"/>
		 <input type="button" value=" 改变索引值为大于 3 的 div 元素的背景色为 红色"  id="b6"/>
		 <input type="button" value=" 改变索引值为等于 3 的 div 元素的背景色为 红色"  id="b7"/>
		 <input type="button" value=" 改变索引值为小于 3 的 div 元素的背景色为 红色"  id="b8"/>
		 <input type="button" value=" 改变所有的标题元素的背景色为 红色"  id="b9"/>
		 
		
		 <h1>有一种奇迹叫坚持</h1>
		 <h2>自信源于努力</h2>
	     <div id="one">
	    	 id为one  
		     
		 </div>
		
		 <div id="two" class="mini" >
	    	   id为two   class是 mini 
		       <div  class="mini" >class是 mini</div>
		</div>
		
		 <div class="one" >
		 	    class是 one 
		       <div  class="mini" >class是 mini</div>
			   <div  class="mini" >class是 mini</div>
		 </div>
		 <div class="one" >
		 	  class是 one 
		       <div  class="mini01" >class是 mini01</div>
			   <div  class="mini" >class是 mini</div>
		</div>
		
		
		
	</body>
	
	
   
</html>




表单过滤选择器
    可用元素选择器
      :enabled 获得可用元素
    不可用元素选择器
      :disabled 获得不可用元素
    选中选择器
      :checked 获得单选/复选框选中的元素
    选中选择器
      :selected 获得下拉框选中的元素

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>表单属性过滤选择器</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
	<style type="text/css">
		 	div,span{
			    width: 180px;
			    height: 180px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div .mini{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			div .mini01{
			    width: 50px;
			    height: 50px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			#job{
				margin: 20px;
			}
			#edu{
				margin-top:-70px;
			}
			
	 </style>
    <script type="text/javascript">
		$(function () {
			//利用 jQuery 对象的 val() 方法改变表单内可用<input> 元素的值
			$("#b1").click(function () {
				$("input[type='text']:enabled").val("aaa");
			})
			//利用 jQuery 对象的 val() 方法改变表单内不可用<input> 元素的值
			$("#b2").click(function () {
				$("input[type='text']:disabled").val("bbb");
			})
			//利用 jQuery 对象的 length 属性获取复选框选中的个数
			$("#b3").click(function () {
				var length = $("input[type='checkbox']:checked").length;
				alert(length);
			})
			//利用 jQuery 对象的 length 属性获取下拉框选中的个数
			$("#b4").click(function () {
				var num = $("#job > option:selected").length;
				alert(num);
			})
		})
	</script>
	</head>
	 
	<body>
				
		 <input type="button" value="保存"  class="mini" name="ok"  class="mini" />
		 <input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内可用 <input> 元素的值"  id="b1"/>
		 <input type="button" value=" 利用 jQuery 对象的 val() 方法改变表单内不可用 <input> 元素的值"  id="b2"/>
		 <input type="button" value=" 利用 jQuery 对象的 length 属性获取复选框选中的个数"  id="b3"/>
		 <input type="button" value=" 利用 jQuery 对象的 length 属性获取下拉框选中的个数"  id="b4"/>
 
 		<br><br>
 		
         <input type="text" value="不可用值1" disabled="disabled"> 
		 <input type="text" value="可用值1" >
		 <input type="text" value="不可用值2" disabled="disabled">
		 <input type="text" value="可用值2" >
		 
		 <br><br>
		 <input type="checkbox" name="items" value="美容" >美容
		 <input type="checkbox" name="items" value="IT" >IT
		 <input type="checkbox" name="items" value="金融" >金融
		 <input type="checkbox" name="items" value="管理" >管理
		 
		 <br><br>
		 
		  <input type="radio" name="sex" value="" ><input type="radio" name="sex" value="" ><br><br>
		 
		  <select name="job" id="job" multiple="multiple" size=4>
          	<option>程序员</option>
			<option>中级程序员</option>
			<option>高级程序员</option>
			<option>系统分析师</option>
          </select>
		    
          <select name="edu" id="edu">
          	<option>本科</option>
			<option>博士</option>
			<option>硕士</option>
			<option>大专</option>
          </select>
	   
	  		
	  	<br/>
	  		
		 <div id="two" class="mini" >
	    	   id为two   class是 mini  div
		       <div  class="mini" >class是 mini</div>
		</div>
		
		 <div class="one" >
		 	    class是 one 
		       <div  class="mini" >class是 mini</div>
			   <div  class="mini" >class是 mini</div>
		 </div>
		 <div class="one" >
		 	  class是 one 
		       <div  class="mini01" >class是 mini01</div>
			   <div  class="mini" >class是 mini</div>
		</div>
		
	</body>
	
	
   
</html>




DOM操作
  内容
    html() 获取/设置元素的标签体内容 内容 获取a的html -> 内容
    text() 获取/设置元素的标签体纯文本内容 内容 获取a的text -> 内容
    val() 获取/设置元素的value属性值

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
		<script>

			$(function () {
                // 获取myinput 的value值
				var value = $("#myinput").val();
				alert(value)
                // 获取mydiv的标签体内容
				var html = $("#mydiv").html();
				alert(html);
                // 获取mydiv文本内容
				var text = $("#mydiv").text();
				alert(text);
            });

		</script>
		
	</head>
	<body>
		<input id="myinput" type="text" name="username" value="张三" /><br />
		<div id="mydiv"><p><a href="#">标题标签</a></p></div>
	</body>
</html>

属性
  通用属性操作
    attr 获取/设置元素的属性
    removeAttr 删除元素的属性
    prop 获取/设置元素的属性
    removeProp 删除元素的属性
    attr和prop的区别
      操作的是元素的固有属性,建议使用prop
      操作的是元素的自定义属性,建议使用attr
      有些固有属性使用attr也可以获取
      但checkbox的checked option的selected等不可以

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>获取属性</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
	
	
	<style type="text/css">
		 	div,span{
			    width: 140px;
			    height: 140px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div.mini{
			    width: 30px;
			    height: 30px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			div.visible{
				display:none;
			}
	 </style>
    
	<script type="text/javascript">
		$(function () {
            //获取北京节点的name属性值 name是自定义属性
			var name = $("#bj").attr("name");
			alert(name);
            //设置北京节点的name属性的值为dabeijing
            $("#bj").attr("name", "dabeijing");
            alert($("#bj").attr("name"));
            //新增北京节点的discription属性 属性值是didu discription是自定义属性
            $("#bj").attr("discription", "didu");
            //删除北京节点的name属性并检验name属性是否存在 使用f12检验
            $("#bj").removeAttr("name");
            //获得hobby的的选中状态 checked是固有属性
			var checked = $("#hobby").prop("checked");
			alert(checked);
        });

		
	</script>
	
	
	</head>
	 
	<body>
				
		 <ul>
		 	 <li id="bj" name="beijing" xxx="yyy">北京</li>
			 <li id="tj" name="tianjin">天津</li>
		 </ul>
		 <input type="checkbox" id="hobby"/>
		 
		
	</body>
	
	
   
</html>




对class属性的操作
  addClass() 添加class属性值
  removeClass() 删除class属性值
  toggleClass() 切换class属性值
    存在该class属性则删除,不存在则添加
  css()

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>样式操作</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
	<style type="text/css">
		   .one{
			    width: 200px;
			    height: 140px;
			    margin: 20px;
			    background: red;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
		
		 	div,span{
			    width: 140px;
			    height: 140px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div .mini{
			    width: 40px;
			    height: 40px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			div .mini01{
			    width: 40px;
			    height: 40px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			/*待用的样式*/
			.second{
				width: 300px;
			    height: 340px;
			    margin: 20px;
			    background: yellow;
			    border: pink 3px dotted;
				float:left;
			    font-size: 22px;
			    font-family:Roman;
			}
			
			
	 </style>
    <script type="text/javascript">

		$(function () {
            //<input type="button" value="采用属性增加样式(改变id=one的样式)"  id="b1"/>
			//class是固有属性
			$("#b1").click(function () {
				$("#one").prop("class", "second");
			});
            //<input type="button" value=" addClass"  id="b2"/> 使用addClass实现上述效果
			$("#b2").click(function () {
				$("#one").addClass("second");
			});
            //<input type="button" value="removeClass"  id="b3"/>
			$("#b3").click(function () {
				$("#one").removeClass("second");
			});
            //<input type="button" value=" 切换样式"  id="b4"/>
			$("#b4").click(function () {
				$("#one").toggleClass("second");
			});
            //<input type="button" value=" 通过css()获得id为one背景颜色"  id="b5"/>
			$("#b5").click(function () {
				var color = $("#one").css("background-color");
				alert(color);
			});
            //<input type="button" value=" 通过css()设置id为one背景颜色为绿色"  id="b6"/>
			$("#b6").click(function () {
				$("#one").css("background-color", "green");
			});
        });

		 
		 
	
	</script>
   
	</head>
	 
	<body>
				
		 <input type="button" value="保存"  class="mini" name="ok"  class="mini" />
		 <input type="button" value="采用属性增加样式(改变id=one的样式)"  id="b1"/>
		 <input type="button" value=" addClass"  id="b2"/>
		 <input type="button" value="removeClass"  id="b3"/>
		 <input type="button" value=" 切换样式"  id="b4"/>
		 <input type="button" value=" 通过css()获得id为one背景颜色"  id="b5"/>
 		 <input type="button" value=" 通过css()设置id为one背景颜色为绿色"  id="b6"/>
 
		 <h1>有一种奇迹叫坚持</h1>
		 <h2>自信源于努力</h2>
		 
	     <div id="one">
	    	 id为one 
		 </div>
		
		 <div id="two" class="mini" >
	    	   id为two   class是 mini 
		       <div  class="mini" >class是 mini</div>
		</div>
		
		 <div class="one" >
		 	    class是 one 
		       <div  class="mini" >class是 mini</div>
			   <div  class="mini" >class是 mini</div>
		 </div>
		 
		 <div class="one" >
		 	  class是 one 
		       <div  class="mini01" >class是 mini01</div>
			   <div  class="mini" >class是 mini</div>
		</div>
		
		

		<span class="spanone">    span
		</span>
		
	</body>
	
	
</html>




CRUD
  append 父元素将子元素追加到末尾
    对象1.append(对象2) 将对象2添加到对象1元素内部,且在末尾
  prepend 父元素将子元素追加到开头
    对象1.prepend(对象2) 将对象2添加到对象1元素内部,且在开头
  appendTo
    对象1.appendTo(对象2) 将对象1添加到对象2元素内部,且在末尾
  prependTo
    对象1.prependTo(对象2) 将对象1添加到对象2元素内部,且在开头
  after 添加元素到对应元素的后面
    对象1.after(对象2) 将对象2添加到对象1后面 二者是兄弟关系
  before 添加元素到对应元素的前面
    对象1.before(对象2) 将对象2添加到对象1前面 二者是兄弟关系
  insertAfter
    对象1.insertAfter(对象2) 将对象1添加到对象2后面 二者是兄弟关系
  insertBefore
    对象1.insertBefore(对象2) 将对象1添加到对象2前面 二者是兄弟关系
  remove
    对象.remove() 删除对象
  empty
    对象.empty() 清空对象的所有后代元素,保留当前对象和其属性节点
  clone
    对象.clone() 将对象复制一份

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>内部插入脚本</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
	<style type="text/css">
		 	div,span{
			    width: 140px;
			    height: 140px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div .mini{
			    width: 30px;
			    height: 30px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			div.visible{
				display:none;
			}
	 </style>
	 <script type="text/javascript">

		 $(function () {
             // <input type="button" value="将反恐放置到city的后面"  id="b1"/>
			 $("#b1").click(function () {
			 	$("#city").append($("#fk"));
			 });
             // <input type="button" value="将反恐放置到city的最前面"  id="b2"/>
			 $("#b2").click(function () {
			 	$("#city").prepend($("#fk"));
			 });
             // <input type="button" value="将反恐插入到天津后面"  id="b3"/>
			 $("#b3").click(function () {
				 $("#fk").insertAfter($("#tj"));
			 });
             // <input type="button" value="将反恐插入到天津前面"  id="b4"/>
			 $("#b4").click(function () {
				 $("#fk").insertBefore($("#tj"));
			 });
         });


		
	</script>
	 
	 
	</head>
	 
	<body>

		<input type="button" value="将反恐放置到city的后面"  id="b1"/>
		<input type="button" value="将反恐放置到city的最前面"  id="b2"/>
		<input type="button" value="将反恐插入到天津后面"  id="b3"/>
		<input type="button" value="将反恐插入到天津前面"  id="b4"/>
		 <ul id="city">
		 	 <li id="bj" name="beijing">北京</li>
			 <li id="tj" name="tianjin">天津</li>
			 <li id="cq" name="chongqing">重庆</li>
		 </ul>
		 
		 
		  <ul id="love">
		 	 <li id="fk" name="fankong">反恐</li>
			 <li id="xj" name="xingji">星际</li>
		 </ul>
		
		<div id="foo1">Hello1</div> 
       
	</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>删除节点</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<script  src="../js/jquery-3.3.1.min.js"></script>
	<style type="text/css">
		 	div,span{
			    width: 140px;
			    height: 140px;
			    margin: 20px;
			    background: #9999CC;
			    border: #000 1px solid;
				float:left;
			    font-size: 17px;
			    font-family:Roman;
			}
			
			div.mini{
			    width: 30px;
			    height: 30px;
			    background: #CC66FF;
			    border: #000 1px solid;
			    font-size: 12px;
			    font-family:Roman;
			}
			
			div.visible{
				display:none;
			}
	 </style>
    <script type="text/javascript">
	$(function () {
        // <input type="button" value="删除<li id='bj' name='beijing'>北京</li>"  id="b1"/>
		$("#b1").click(function () {
			$("#bj").remove();
        });
        // <input type="button" value="删除city所有的li节点   清空元素中的所有后代节点(不包含属性节点)"  id="b2"/>
        $("#b2").click(function () {
            $("#city").empty();
        });
    });

	
	   
	   
	
	</script>
	</head>
	 
	<body>
	<input type="button" value="删除<li id='bj' name='beijing'>北京</li>"  id="b1"/>
	<input type="button" value="删除所有的子节点   清空元素中的所有后代节点(不包含属性节点)"  id="b2"/>

		 <ul id="city">
		 	 <li id="bj" name="beijing">北京</li>
			 <li id="tj" name="tianjin">天津</li>
			 <li id="cq" name="chongqing">重庆</li>
		 </ul>
		 <p class="hello">Hello</p> how are <p>you?</p> 
	</body>
	
	
   
</html>




案例
隔行换色

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
		
		<script>
			//需求:将数据行的奇数行背景色设置为 pink,偶数行背景色设置为 yellow
			$(function () {
				$("tr:gt(1):odd").css("background-color", "pink");
				$("tr:gt(1):even").css("background-color", "yellow");
			});
		</script>
	</head>
	<body>
		<table id="tab1" border="1" width="800" align="center" >
			<tr>
				<td colspan="5"><input type="button" value="删除"></td>
			</tr>
			<tr style="background-color: #999999;">
				<th><input type="checkbox"></th>
				<th>分类ID</th>
				<th>分类名称</th>
				<th>分类描述</th>
				<th>操作</th>
			</tr>
			<tr>
				<td><input type="checkbox"></td>
				<td>0</td>
				<td>手机数码</td>
				<td>手机数码类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox"></td>
				<td>1</td>
				<td>电脑办公</td>
				<td>电脑办公类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox"></td>
				<td>2</td>
				<td>鞋靴箱包</td>
				<td>鞋靴箱包类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox"></td>
				<td>3</td>
				<td>家居饰品</td>
				<td>家居饰品类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
		</table>
	</body>
</html>

全选和全不选

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
		<script>
			//分析:需要保证下边的选中状态和第一个复选框的选中状态一致即可
			$(function () {
				// var flag = $("input[οnclick='selectAll(this)']").clicked;
				// if (flag) {
				// 	$("input[class='itemSelect']").clicked = true;
				// } else {
				// 	$("input[class='itemSelect']").clicked = false;
				// }

			});
			function selectAll(obj) {
				// var checkbox = $(".itemSelect");
				// for (var i = 0; i < checkbox.length; i++) {
					//jQuery对象checkbox的第i个元素就是js对象
				// 	checkbox[i].checked = obj.checked;
				// }
				$(".itemSelect").prop("checked", obj.checked);
			}
		</script>
	</head>
	<body>
		<table id="tab1" border="1" width="800" align="center" >
			<tr>
				<td colspan="5"><input type="button" value="删除"></td>
			</tr>
			<tr>
				<th><input type="checkbox" onclick="selectAll(this)" ></th>
				<th>分类ID</th>
				<th>分类名称</th>
				<th>分类描述</th>
				<th>操作</th>
			</tr>
			<tr>
				<td><input type="checkbox" class="itemSelect"></td>
				<td>1</td>
				<td>手机数码</td>
				<td>手机数码类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox" class="itemSelect"></td>
				<td>2</td>
				<td>电脑办公</td>
				<td>电脑办公类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox" class="itemSelect"></td>
				<td>3</td>
				<td>鞋靴箱包</td>
				<td>鞋靴箱包类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
			<tr>
				<td><input type="checkbox" class="itemSelect"></td>
				<td>4</td>
				<td>家居饰品</td>
				<td>家居饰品类商品</td>
				<td><a href="">修改</a>|<a href="">删除</a></td>
			</tr>
		</table>
	</body>
</html>

QQ表情选择

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>QQ表情选择</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <style type="text/css">
    *{margin: 0;padding: 0;list-style: none;}

    .emoji{margin:50px;}
    ul{overflow: hidden;}
    li{float: left;width: 48px;height: 48px;cursor: pointer;}
    .emoji img{ cursor: pointer; }
    </style>
	<script>
        $(function () {
            //需求:点击qq表情,将其追加到发言框中
            $("li > img").click(function () {
                //this是一个js对象,要调用jQuery的方法clone,要先将其转换为jQuery对象
                $("p").append($(this).clone());
            });
        })
    </script>
	
</head>
<body>
    <div class="emoji">
        <ul>
            <li><img src="img/01.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/02.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/03.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/04.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/05.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/06.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/07.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/08.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/09.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/10.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/11.gif" height="22" width="22" alt="" /></li>
            <li><img src="img/12.gif" height="22" width="22" alt="" /></li>
        </ul>
        <p class="word">
            <strong>请发言:</strong>
            <img src="img/12.gif" height="22" width="22" alt="" />
        </p>
    </div>
</body>
</html>

左右移动

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>


		<style>
			#leftName , #btn,#rightName{
				float: left;
				width: 100px;
				height: 300px;
			}
			#toRight,#toLeft{
				margin-top:100px ;
				margin-left:30px;
				width: 50px;
			}

			.border{
				height: 500px;
				padding: 100px;
			}
		</style>

		<script>
			$(function () {
				//需求:实现下拉列表选中条目左右选择功能
				$("#toRight").click(function () {
					// var option = $("#leftName > option");
					// for (var i = 0; i <option.length; i++) {
					// 	if(option[i].selected) {
					// 		$("#rightName").append(option[i]);
					// 	}
					// }
					$("#rightName").append($("#leftName > option:selected"));
				});
				$("#toLeft").click(function () {
					// var option = $("#rightName > option");
					// for (var i = 0; i <option.length; i++) {
					// 	if(option[i].selected) {
					// 		$("#leftName").append(option[i]);
					// 	}
					// }
					$("#leftName").append($("#rightName > option:selected"));
				});
			});


		</script>



	</head>
	<body>
		<div class="border">
			<select id="leftName" multiple="multiple">
				<option>张三</option>
				<option>李四</option>
				<option>王五</option>
				<option>赵六</option>
			</select>
			<div id="btn">
				<input type="button" id="toRight" value="-->"><br>
				<input type="button" id="toLeft" value="<--">

			</div>

			<select id="rightName" multiple="multiple">
				<option>钱七</option>
			</select>

		</div>


	</body>
</html>

2、高级

动画
  三种方式显示和隐藏元素
  动画效果是通过设置display属性完成的
   (1)默认显示和隐藏方式
     show([speed],[easing],[fn])
     speed 动画速度 预定义值slow normal fast 或表示动画时长的毫秒值
     easing 动画切换效果 默认swing(慢快慢) 可用参数linear(匀速)
     fn 动画完成时执行的函数
     hide([speed],[easing],[fn])
     toggle([speed],[easing],[fn])
   (2)滑动显示和隐藏方式
     slideDown([speed],[easing],[fn])
     slideUp([speed],[easing],[fn])
     slideToggle([speed],[easing],[fn])
   (3)淡入淡出显示和隐藏方式
     fadeIn([speed],[easing],[fn])
     fadeOut([speed],[easing],[fn])
     fadeToggle([speed],[easing],[fn])

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>


    <script>
        function hideFn() {
            //默认隐藏
            //$("#showDiv").hide("slow", "swing");
            //滑动隐藏
            //$("#showDiv").slideUp("slow", "swing");
            //淡入淡出隐藏
            $("#showDiv").fadeOut("slow", "swing");
        }
        function showFn() {
            //默认显示
            //$("#showDiv").show("fast", "swing");
            //滑动显示
            //$("#showDiv").slideDown("fast", "swing");
            //淡入淡出显示
            $("#showDiv").fadeIn("slow", "swing");
        }
        function toggleFn() {
            //默认切换
            //$("#showDiv").toggle("slow", "swing");
            //滑动切换
            //$("#showDiv").slideToggle("slow", "swing");
            //淡入淡出切换
            $("#showDiv").fadeToggle("slow", "swing");
        }
    </script>

</head>
<body>
<input type="button" value="点击按钮隐藏div" onclick="hideFn()">
<input type="button" value="点击按钮显示div" onclick="showFn()">
<input type="button" value="点击按钮切换div显示和隐藏" onclick="toggleFn()">

<div id="showDiv" style="width:300px;height:300px;background:pink">
    div显示和隐藏
</div>
</body>
</html>

遍历
  js遍历
    for(初始化值;循环结束条件;步长)
  jQuery遍历
    jq对象.each(callback)
    $.each(object, [callback])
    for…of:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">
/*

        遍历
            1. js的遍历方式
             * for(初始化值;循环结束条件;步长)
            2. jq的遍历方式
                1. jq对象.each(callback)
                2. $.each(object, [callback])
                3. for..of:jquery 3.0 版本之后提供的方式

*/
        $(function () {
            //js遍历
            // var cities = $("ul li");
            // for (var i = 0; i < cities.length; i++) {
            //     if ("上海" == cities[i].innerText) {
            //         //break;//结束循环
            //         continue;//结束本次循环
            //     }
            //     alert($(cities[i]).text());
            // }

            var cities = $("ul li");
            //1. jq对象.each(callback)
            // cities.each(function () {
            //     alert(this.innerHTML);//this是对应的li对象
            // });

            //在回调函数中定义参数 index索引和element元素对象
            // cities.each(function (index, element) {
            //     //在本方式中实现break和continue的同等效果
            //     if ("上海" == element.innerHTML) {
            //         //return false;//结束循环 相当于break
            //         return true;//结束本次循环 相当于continue
            //     }
            //     alert(index + ":" + element.innerHTML);
            // })

            //2. $.each(object, [callback]) 全局遍历方式
            // $.each(cities, function () {
            //     alert(this.innerHTML);
            // });
            //3. for..of:jquery 3.0 版本之后提供的方式
            for (li of cities) {
                alert(li);
            }
        });
    </script>
</head>
<body>
<ul id="city">
    <li>北京</li>
    <li>上海</li>
    <li>天津</li>
    <li>重庆</li>
</ul>
</body>
</html>

事件绑定
jQuery标准的绑定方式
  jq对象.事件方法(回调函数)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">

        $(function () {
            //给name绑定点击事件
            //标准绑定
            // $("#name").click(function () {
            //     alert("绑定了");
            // });
            // //给name绑定鼠标移入和移出的事件
            // // $("#name").mouseover(function () {
            // //     alert("鼠标移入了");
            // // });
            // // $("#name").mouseleave(function () {
            // //     alert("鼠标移出了");
            // // });
            // //简化操作 链式编程
            // $("#name").mouseover(function () {
            //     alert("鼠标移入了");
            // }).mouseleave(function () {
            //     alert("鼠标移出了");
            // });
            // //如果不传入方法,默认会使得元素获得焦点
            // $("#name").focus();
        });


    </script>
</head>
<body>
<input id="name" type="text" value="绑定点击事件">
</body>
</html>

on绑定事件/off解除绑定
  jq对象.on(“事件名称”, 回调函数)
  jq对象.off(“事件名称”)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
           $("#btn").on("click", function () {
               alert("点击了");
           });
           $("#btn2").click(function () {
               $("#btn").off("click");
               $("#btn").off();//将组件上的所有事件全部解绑
           })
        });


    </script>
</head>
<body>
<input id="btn" type="button" value="使用on绑定点击事件">
<input id="btn2" type="button" value="使用off解绑点击事件">
</body>
</html>

事件切换
  jq对象.toggle(fn1, fn2,…) 1.9版本之后不支持 可以使用migrate插件恢复此功能

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery-migrate/1.0.0/jquery-migrate-1.0.0.js"></script>

    <script type="text/javascript">
        $(function () {
           $("#btn").toggle(function () {
               $("#myDiv").css("background-color", "green");
           }, function () {
               $("#myDiv").css("background-color", "red");
           });
        });

    </script>
</head>
<body>

    <input id="btn" type="button" value="事件切换">
    <div id="myDiv" style="width:300px;height:300px;background:pink">
        点击按钮变成绿色,再次点击红色
    </div>
</body>
</html>


案例
广告的自动显示与隐藏

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>广告的自动显示与隐藏</title>
    <style>
        #content{width:100%;height:500px;background:#999}
    </style>

    <!--引入jquery-->
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <script>
        /*
            需求:
                1. 当页面加载完,3秒后。自动显示广告
                2. 广告显示5秒后,自动消失。

            分析:
                1. 使用定时器来完成。setTimeout (执行一次定时器)
                2. 分析发现JQuery的显示和隐藏动画效果其实就是控制display
                3. 使用  show/hide方法来完成广告的显示
         */

        //入口函数,在页面加载完成之后,定义定时器,调用这两个方法
        $(function () {
            setTimeout(showAd, 3000);

            setTimeout(hideAd, 8000);
        });
        function showAd() {
            $("#ad").fadeIn("slow", "swing");
        }
        function hideAd() {
            $("#ad").fadeOut("slow", "swing");
        }

    </script>
</head>
<body>
<!-- 整体的DIV -->
<div>
    <!-- 广告DIV -->
    <div id="ad" style="display: none;">
        <img style="width:100%" src="../img/adv.jpg" />
    </div>

    <!-- 下方正文部分 -->
    <div id="content">
        正文部分
    </div>
</div>
</body>
</html>

抽奖

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>jquery案例之抽奖</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>

    <script language='javascript' type='text/javascript'>

        /*
            分析:
                1. 给开始按钮绑定单击事件
                    1.1 定义循环定时器
                    1.2 切换小相框的src属性
                        * 定义数组,存放图片资源路径
                        * 生成随机数。数组索引


                2. 给结束按钮绑定单击事件
                    1.1 停止定时器
                    1.2 给大相框设置src属性

         */
        var imgs = [
            "../img/man00.jpg",
            "../img/man01.jpg",
            "../img/man02.jpg",
            "../img/man03.jpg",
            "../img/man04.jpg",
            "../img/man05.jpg",
            "../img/man06.jpg"
        ];
        var startID;
        $(function () {
            $("#stopID").prop("disabled", true);
            $("#startID").click(function () {
                //定义循环定时器,每隔一段时间切换一次图片
                startID = setInterval(changeSrc, 20);
                $("#startID").prop("disabled", true);
                $("#stopID").prop("disabled", false);
            });
             $("#stopID").click(function () {
                 clearInterval(startID);
                 //src是固有属性
                 var img = $("#img1ID").prop("src");
                 $("#img2ID").prop("src", img).hide();
                 $("#img2ID").show(1000);
                 $("#startID").prop("disabled", false);
                 $("#stopID").prop("disabled", true);
             });
         });
        //切换图片
        function changeSrc() {
            //获取随机数
            //random函数生成0.00-0.99之间的小数 *7->0.00-6.99
            var index = Math.floor((Math.random() * 7));
            $("#img1ID").prop("src", imgs[index]);
        }
    </script>

</head>
<body>

<!-- 小像框 -->
<div style="border-style:dotted;width:160px;height:100px">
    <img id="img1ID" src="../img/man00.jpg" style="width:160px;height:100px"/>
</div>

<!-- 大像框 -->
<div
        style="border-style:double;width:800px;height:500px;position:absolute;left:500px;top:10px">
    <img id="img2ID" src="../img/man00.jpg" width="800px" height="500px"/>
</div>

<!-- 开始按钮 -->
<input
        id="startID"
        type="button"
        value="点击开始"
        style="width:150px;height:150px;font-size:22px">

<!-- 停止按钮 -->
<input
        id="stopID"
        type="button"
        value="点击停止"
        style="width:150px;height:150px;font-size:22px">


</body>
</html>

插件 增强jQuery的功能
实现方式在这里插入代码片
$.fn.extend(object)
  增强通过jQuery获取的对象的功能 如$("#id")

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>01-jQuery对象进行方法扩展</title>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">
       //使用jquery插件 给jq对象添加2个方法 check()选中所有复选框,uncheck()取消选中所有复选框
        //1.定义jqeury的对象插件
        $.fn.extend({
            //定义一个check方法 所有jq对象都可以调用
            check:function () {
                //this表示调用该check方法的jq对象
                this.prop("checked", true);
            },
            uncheck:function () {
                this.prop("checked", false);
            }
        });
        $(function () {
            //获取按钮"点击选中复选框"
            $("#btn-check").click(function () {
                $("input[type='checkbox']").check();
            });
            $("#btn-uncheck").click(function () {
                $("input[type='checkbox']").uncheck();
            });
        });
        // function checkFn() {
        //     $("input[type='checkbox']").check();
        // }
        // function uncheckFn() {
        //     $("input[type='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>


$.extend(object)
  增强jQuery对象自身的功能 如$或jQuery

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>01-jQuery对象进行方法扩展</title>
    <script src="../js/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
        //对全局方法扩展2个方法,扩展min方法:求2个值的最小值;扩展max方法:求2个值最大值
        $.extend({
            max:function (a, b) {
                return a >= b ? a : b;
            },
            min:function (a, b) {
                return a <= b ? a : b;
            }
        });
        //调用全局方法
        var max = $.max(2, 3);
        alert(max);

        var min = $.min(6, 10);
        alert(min);
    </script>
</head>
<body>
</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值