[TOC]
0x00 前言简介 什么JQuery?  jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架 )。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等
JQuery的作用: 1. 写更少的代码,做更多的事情: write Less ,Do more
将我们页面的JS代码和HTML页面代码进行分离 
提高我们的工作效率,轻松的进行前端开发 
 
JQuery中的选择器:
基本选择器
ID选择器: #ID的名称 
类选择器: 以 . 开头  .类名 
元素选择器: 标签的名称 
通配符选择器:  *  
选择器,选择器:  选择器1,选择器2 
 
 
层级选择器
子元素选择器: 选择器1 > 选择器2 
后代选择器:  选择器1 儿孙 
相邻兄弟选择器: 选择器1 + 选择器2 : 找出紧挨着的一个弟弟 
找出所有弟弟:  选择器1~ 选择器2   : 找出所有的弟弟 
 
 
属性选择器:
选择器[href][title] : 多个属性 
选择器[href][title=’test’] : 多个属性,包含值 
 
 
 
基本过滤器:
    选择器:first 找出的是第一个 
    :last   
    :even   找出索引为偶数 
    :odd    找出奇数索引 
    :gt(index)  大于索引 
    :lt(index)   小于 
    :eq(index)  等于 
 
表单过滤器:
:input   找出所有输入项:  input  textarea  select  
:text  
:password   
option:selected 
 
 
0x01 jQuery 使用说明 jQuery调用的三种形式: 
      
  
      
     
      
        
        [TOC]
0x00 前言简介 什么JQuery?  jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架 )。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等
JQuery的作用: 1. 写更少的代码,做更多的事情: write Less ,Do more
将我们页面的JS代码和HTML页面代码进行分离 
提高我们的工作效率,轻松的进行前端开发 
 
JQuery中的选择器:
基本选择器
ID选择器: #ID的名称 
类选择器: 以 . 开头  .类名 
元素选择器: 标签的名称 
通配符选择器:  *  
选择器,选择器:  选择器1,选择器2 
 
 
层级选择器
子元素选择器: 选择器1 > 选择器2 
后代选择器:  选择器1 儿孙 
相邻兄弟选择器: 选择器1 + 选择器2 : 找出紧挨着的一个弟弟 
找出所有弟弟:  选择器1~ 选择器2   : 找出所有的弟弟 
 
 
属性选择器:
选择器[href][title] : 多个属性 
选择器[href][title=’test’] : 多个属性,包含值 
 
 
 
基本过滤器:
    选择器:first 找出的是第一个 
    :last   
    :even   找出索引为偶数 
    :odd    找出奇数索引 
    :gt(index)  大于索引 
    :lt(index)   小于 
    :eq(index)  等于 
 
表单过滤器:
:input   找出所有输入项:  input  textarea  select  
:text  
:password   
option:selected 
 
 
0x01 jQuery 使用说明 jQuery调用的三种形式:1 2 3 jQuery(document). $(document). $(function  (){}); 
基础示例:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <!DOCTYPE html> <html  lang ="en" > <head >   <title > Document</title >    <script  src ="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js" > </script >  </head > <body >   <script >                jQuery(document ).ready(function ( ) {       alert("Read" );     })          $(document ).ready(function ( ) {       alert("Reader" );     })          $(function ( ) {       alert("Reader Reader" )     })    </script > </body > </html > 
JQ和JS之间的转换
JQ对象,只能调用JQ的属性和方法 
JS对象,只能调用JS的属性和方法 
 
基础示例:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 <!DOCTYPE html> <html  lang ="en" > <head > <title > Jquery/Javascript互换</title > <meta  http-equiv ="Content-Type"  content ="text/html;charset=UTF-8" > <script  src ="jquery-2.1.0.min.js" > </script > </head > <body >   <button  id ="clk1" > JS=>JQ对象</button >    <button  id ="clk2" > JQ=>JS对象</button >    <pre  id ="change" >        【JQ和JS之间的转换】       - JQ对象,只能调用JQ的属性和方法       - JS对象,只能调用JS的属性和方法   </pre >    <hr >    <button  id ="clk3" > Show</button >    <button  id ="clk4" > Hide</button >    <br >    <img  src ="https://img2018.cnblogs.com/blog/1010141/201907/1010141-20190716105923289-1888756797.png"  width ="100px"  height ="100px"  alt ="Test"  style ="display: block;" />    <script >               $("#clk1" ).click(function ( ) {         var  demo1 = document .getElementById("change" );         $(demo1).html("<b  style ='color:red' > JS对象转换成为JQ对象!</b > ");       });                     $("#clk2" ).click(function ( ) {        var  $demo2 = $('#change' );        var  demo2 = $demo2.get(0 );         demo2.innerHTML="<b  style ='color:green' > JQ对象转换成为JS对象!</b > ";       });              $(function ( ) {         $('#clk3' ).click(function ( ) {           $("img" ).show(2000 );           $("img" ).animate({width :"200px" ,opacity :"0.9" })           $("img" ).fadeIn(2000 );         })         $('#clk4' ).click(function ( ) {           $("img" ).hide(3000 );           $("img" ).fadeOut(1000 );         })       });      </script > </body > </html > 
                 
                weiyigeek.top-
             
jQuery定时广告弹出和隐藏
定时器: 1 2 setInterval  clearInterval setTimeout   clearTimeout 
 
 
显示: 1 2 img.style.display  = "block"  $("img" ).show() 
 
隐藏:  1 2 img.style.display  = "none"  $("img" ).hide() 
 
基础示例:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <script>            function  ShowAD ( ) {            $("img" ).fadeIn(2000 );      $("img" ).slideDown();      setTimeout("HideAD()" ,3000 )    };    function  HideAD ( )  {            $("img" ).fadeOut(2000 );      $("img" ).Hide(1000 )          }        $(function ( ) {      setTimeout("ShowAD()" ,3000 )    });  </script>  
 
 
 
 JQ完成表格的隔行换色 和 输入框选中; 修改行的颜色的CSS方法:1 2 3 4 5 	row.bgColor ="red" 	row.style.backgroundColor = "black" 	row.style.background = "red" 	"background-color:red" 	"background:red" 
基础示例:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <H3 > Test ConvetTO-Html</H3 > <table  style ='border:1px solid red'  border ="1px" > <tr > <th > <input  type ="checkbox"  name ="checkAll"  id ="Demo" > </th > <th > Name</th > <th > Version</th > <th > InstanceId</th > <th > UI</th > </tr > <tr > <th > <input  type ="checkbox"  name ="checkAll" > </th > <td > Windows PowerShell ISE Host</td > <td > 5.1.18362.145</td > <td > 44e2ee19-5d0a-4b3f-b66e-8c8870cd627a</td > <td > System.Management.Automation.Internal.Host.InternalHostUserInterface</td > </tr > <tr > <th > <input  type ="checkbox"  name ="checkAll" > </th > <td > Windows PowerShell ISE Host</td > <td > 5.1.18362.145</td > <td > 44e2ee19-5d0a-4b3f-b66e-8c8870cd627a</td > <td > System.Management.Automation.Internal.Host.InternalHostUserInterface</td > </tr > <tr > <th > <input  type ="checkbox"  name ="checkAll" > </th > <td > Windows PowerShell ISE Host</td > <td > 5.1.18362.145</td > <td > 44e2ee19-5d0a-4b3f-b66e-8c8870cd627a</td > <td > System.Management.Automation.Internal.Host.InternalHostUserInterface</td > </tr > <tr > <th > <input  type ="checkbox"  name ="checkAll" > </th > <td > Windows PowerShell ISE Host</td > <td > 5.1.18362.145</td > <td > 44e2ee19-5d0a-4b3f-b66e-8c8870cd627a</td > <td > System.Management.Automation.Internal.Host.InternalHostUserInterface</td > </tr > </table > </body > </html > <script >   $(function ( ) {     $("#Demo" ).click(function ( ) {       $("input[type='checkbox']:gt(0)" ).prop("checked" ,this .checked);     })                    var  row = $("tr" ).length     console .info("Tr 标签格数 :"  + row)     for (i=2 ; i <= row; i++){              if (i % 2  == 0 ){         $("tr:nth-child(" +i+")" ).css("background-color" ,"deeppink" );       } else  if ( i % 2  != 0 ){         $("tr:nth-child(" +i+")" ).css("background-color" ,"yellow" );       }     }   }); </script > 
                 
                weiyigeek.top-
             
使用JQ完成省市联动效果 
需求分析:  在我们的注册表单中,通常我们需要知道用户的籍贯,需要一个给用选择的项,当用户选中了省份之后,列出省下面所有的城市技术分析: 
准备工作 : 城市信息的数据 
添加节点 :  appendChild (JS)
append  :  添加子元素到末尾 
appendTo  : 给自己找一个爹,将自己添加到别人家里 
prepend : 在子元素前面添加 
after :   在自己的后面添加一个兄弟 
empty : 清空节点 
 
 
遍历的操作:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 var  city = ['北京' ,'上海' ,'天津' ,'重庆' ,'深圳' ]$(city).each(function (i,n ) {   console .info(i + " : "  + n); }) $.each(city,function (i,n ) {   console .info(i + " - "  + n) }) function  callback (i,c ) {  console .info(i+"-" +c) } function  bianli (arr,callback ) {  for  (const  index in  city) {       callback(index,city[index]);   } } bianli(city,callback) 
 
 
 
基础示例:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 <!DOCTYPE html> <html  lang ="en" > <head >   <meta  charset ="UTF-8" >    <meta  name ="viewport"  content ="width=device-width, initial-scale=1.0" >    <meta  http-equiv ="X-UA-Compatible"  content ="ie=edge" >    <title > 城市联动</title >    <script  src ="jquery-2.1.0.min.js" > </script >    <script >      var  provinces = [ 				["深圳市" ,"东莞市" ,"惠州市" ,"广州市" ], 				["长沙市" ,"岳阳市" ,"株洲市" ,"湘潭市" ], 				["厦门市" ,"福州市" ,"漳州市" ,"泉州市" ] 			];     $(function ( ) { 				$("#province" ).change(function ( ) { 					 					var  cities = provinces[this .value];           if ( this .value == -1 ){             alert("请选择城市信息!" );           }                      /*var $city = $("#city"); 	//将JQ对象转成JS对象进行清空           var  citySelect = $city.get(0 )           citySelect.options.length = 0;*/           $("#city" ).empty();          					 					$(cities).each(function (i,n ) { 						$("#city" ).append("<option value=" +n+">" +n+"</option>" ); 					}); 				}); 			});    </script > </head > <body >      <select  id ="province" >        <option  value ="-1" > --请选择--</option >        <option  value ="0" > 广东省</option >        <option  value ="1" > 湖南省</option >        <option  value ="2" > 福建省</option >      </select >           <select  id ="city" > </select >  </body > </html > 
                 
                weiyigeek.top-
             
JQ完成下拉列表左右选择
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 <script  type ="text/javascript"  src ="../js/jquery-1.11.0.js"  > </script > <script >   $(function ( ) {     $("#a1" ).click(function ( ) {                     $("#rightSelect" ).append($("#leftSelect option:selected" ));     });               $("#a2" ).click(function ( ) {       $("#rightSelect" ).append($("#leftSelect option" ));     });   }); </script > <div  style ="float: left;" >   已有商品<br  />    <select  multiple ="multiple"  id ="leftSelect" >      <option > 华为</option >      <option > 小米</option >      <option > 锤子</option >      <option > oppo</option >    </select >    <br  />    <a  href ="#"  id ="a1"  >  >> </a >  <br />    <a  href ="#"  id ="a2" >  >>> </a >  </div > <div  style ="float: right;" >    未有商品<br  />    <select  multiple ="multiple"  id ="rightSelect" >      <option > 苹果6</option >      <option > 肾7</option >      <option > 诺基亚</option >      <option > 波导</option >    </select >    <br  />    <a  href ="#" >  << </a >  <br  />    <a  href ="#" >  <<< </a >  </div > 
 
                 
                weiyigeek.top-
             
jQuery表单效验  需求: 
用户名和密码长度验证 
用户名和密码的输入的特殊字符验证 
采用md5加密传输用户输入的密码1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 <!DOCTYPE html> <html  lang ="en" > <head >     <meta  charset ="UTF-8" >      <meta  name ="viewport"  content ="width=device-width, initial-scale=1.0" >      <meta  http-equiv ="X-UA-Compatible"  content ="ie=edge" >      <title > 表单效验</title >           <link  rel ="stylesheet"  href ="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css" >           <script  src ="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js" > </script >      <script  src ="http://www.gongjuji.net/content/files/jquery.md5.js" > </script >           <script  src ="http://cdn.bootcss.com/bootstrap/3.3.4/js/bootstrap.min.js" > </script >      <style >          .req  {             color :red ;         }         .onErrorTips  {             color :red ;             font: 1em sans-serif;         }      </style > </head > <body >     <form  action ="index.html"  method ="GET" >          <div  class ="loginInput" >              <input  type ="text"  name ="username"  id ="username"  class ="depend" >          </div >          <div  class ="loginInput" >              <input  type ="password"  name ="passowrd"  id ="password"  class ="depend"  placeholder ="请输入8~16位的密码" >          </div >          <input  type ="submit"  value ="登录" >          <input  type ="button"  value ="清空" >          <div  class ="loginRemember" >              <select  name ="loginRemember"  id ="" >                  <option  value ="0" > 不记住登录</option >                  <option  value ="1" > 记住登录</option >              </select >              </div >      </form >      <script >      $(function ( ) {         var  userReg = /^[0-9a-zA-Z_]+$/ ;         var  passReg = /^[0-9a-zA-Z!@#$%&*\.\,\?]+$/ ;                  $(".loginInput" ).append("<font class='req'> * <font>" );                  $(".depend" ).blur(function ( ) {                          var  val = $(this ).val();                                        $(this ).parent().find("span" ).remove();                            if ($(this ).is("#username" )){                                  if (val.length <= 0  ||  val.length >= 16  ){                     $(this ).parent().append("<span class='onErrorTips'>用户名长度有误!</span>" );                 }else  if (!userReg.test(val)){                     $(this ).parent().append("<span class='onErrorTips'>用户名输入有误!</span>" );                 }             }                          if ($(this ).is("#password" )){                                  if (val.length <= 7  ||  val.length > 18  ){                     $(this ).parent().append("<span class='onErrorTips'>密码长度有误!</span>" );                 }else  if (!passReg.test(val)){                     $(this ).parent().append("<span class='onErrorTips'>密码输入了特殊有误!</span>" );                 }             }         }).focus(function ()  {             $(this ).triggerHandler("blur" );         }).keyup(function ()  {             $(this ).triggerHandler("blur" );         });         $("input[value='清空']" ).click(function ( ) {             $(".depend" ).val("" );         });                  $("form" ).submit(function ( ) {             $(".depend" ).trigger("focus" );                          if ($(".onErrorTips" ).length > 0 ){                 return  false ;             }else {                                  $("#password" ).val($.md5($("#password" ).val()))                 return  true ;             }         });     });      </script > </body > </html > 
 
                 
                weiyigeek.top-