jQuery 常用总结 入口函数: 我们先看一下原生 js 的入口函数:
1 2 3 4 window .onload  = () =>  {    console .log ("onload" ); }; 
 
jq 的入口函数后 4 种:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 jQuery (document ).ready (function  ( ) {    console .log ("jQuery_ready" ); }); jQuery (function  ( ) {    console .log ("jQuery" ); }); $(document ).ready (function  ( ) {     console .log ("$_ready" ); }); $(function  ( ) {     console .log ("$" ); }); 
 
解决冲突($符号的使用): 释放’$‘的使用权和自定义访问符:
jQuery.noConflict(); 表示释放$符的使用权,之后不能再使用$符调用函数或方法(可用 jQuery 代替)。注意此句需在 jquery 使用之前使用才有效。 
自定义 
 
1 2 3 4 5 6 var  jq = jQuery.noConflict ();jq (() =>  {         console .log ("jq" ); }); 
 
核心函数 $(): 它能接受 3 中参数:
传入函数,表示它是一个入口函数 
 
 
字符串 
 
可像 css 选择器一样选择元素。 
也可是一个标签字符串,会自动转为 jquery 对象。 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $(() => {          let  div = $("#main div" );      console .log (div[0 ]);           div = $("div > ul" );           div = $("div + li" );           div = $("div ~ li" );           let  li = $("<li>5</li>" );      $("ul" ).append (li); }); 
 
3.接受一个 DOM 变量(如原生 js 获取的元素节点)
1 2 3 let  div = document .getElementsByTagName ("div" )[0 ];console .log ($(div));
 
常用方法: 
数组方法: 首先要知道 jq 一般获取到的元素节点对象都是伪数组(有 0 到 length-1 的属性,和 length 属性) 
 
each(与原生 each 类似):可遍历数组,也可遍历伪数组
1 2 3 4 5 let  arr = { 0 : "a" , 1 : "b" , 2 : "c" , length : 3  };$.each (arr, (index, value ) =>  {     console .log (index + "--"  + value); }); 
 
map(与原生 map 类似):也可遍历伪数组
1 2 3 4 5 6 7 8 let  a = $.map (arr, (value, index ) =>  {    console .log (index + "--"  + value);     if  (value > "a" ) {         return  true ;     }     return  false ; }); console .log (a);
 
$.isWindow(window) :是否是 js 的 window 对象 
$.isArray(arr):是否是一个数组(伪数组不算) 
$.isFunction(()=>{}):是否是一个函数 
 
$.holdReady(true||false);:jq 入口函数默认在 DOM 加载完成时执行,我们可以通过 holdReady 控制它的执行,true 关闭(确认关闭),false 执行(取消关闭)。 
 
元素选择器: 1 2 3 4 5 6 7 8 9 10 let  empty = $("div:empty" );let  parent = $("div:parent" );let  contains = $("div:contains('1')" );let  has = $("div:has('li')" );let  sum = $("div,span,img" );
 
元素筛选与遍历: 通常在元素选择器之后使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 $("#app" ).parent ();  $("#app" ).parents ();  $("#app" ).children ();  $("#app" ).find ('p' );  $("#app" ).siblings ();  $("#app" ).prev ();  $("#app" ).prevAll ();  $("#app" ).next ();  $("#app" ).nextAll ();  $("#app" ).first ();  $("#app" ).last ();  $("#app" ).eq (index);  $("#app" ).filter (".middle" );  $("#app" ).not ();  $("#app" ).add ("p" );  $(selector).each (function (index,element ));  
 
对标签属性的操作: 有两个方法 attr 和 prop 它们类似也有不同。
1 2 3 4 5 6 console .log ($("input" ).attr ("value" ));$("input" ).attr ("value" , "text" ); $("input" ).removeAttr ("value" ); 
 
prop 的使用与 attr 相同,官方推荐当属性值为 true 和 false 时使用 prop 方法。其它使用 attr 。
标签的 class 属性: 
$("div").addClass("class"); 添加 class(多个 class 用空格隔开)。 
$("div").removeClass("class"); 删除 class 
$("div").toggleClass("class"); 切换 class,存在就删除,不存在则添加。 
 
标签内容: 
1 2 console .log ($("div" ).html ()); $("div" ).html ("<p>value</p>" );  
 
1 2 console .log ($("div" ).text ()); $("div" ).text ("<p>value</p>" );  
 
1 2 console .log ($("#input" ).val ()); $("#input" ).val ("hello" );  
 
css 设置属性值: 1 2 3 4 5 6 7 8 9 10 console .log ($("div" ).css ("background" ));$("div" ).css ("background" , "red" ).css ("width" , "300px" ); $("div" ).css ({     background : "blue" ,     width : "200px" ,     height : "200px" , }); 
 
元素创建添加与删除: 1 2 3 4 5 6 7 8 9 10 11 $("#container" ).prepend ("<div>子级最前<div/>" ); $("#container" ).append ("<div>子级最后<div/>" ); $("#container" ).before ("<div>同级前<div/>" ); $("#container" ).after ("<div>同级后<div/>" ); $("#container" ).empty ();  $("#container" ).remove ();  
 
元素事件: 1.鼠标事件 click :单击事件dblclick :双击事件mouseenter :当鼠标指针进入所选元素时触发mouseleave :当鼠标离开所选元素时触发mouseover :当鼠标在所选元素上方悬停时触发
2.键盘事件 keydown :当按下键盘按键时会触发keyup :当按键被释放时会触发keypress :当按下并抬起同一个按键会触发
3.表单事件 submit :提交表单时会触发change :当表单元素的值发生改变时会触发focus :当表单元素获得焦点时触发blur :当表单元素失去焦点时会触发
4.文件事件 ready :当DOM加载完成以后触发resize :当浏览器窗口大小改变时触发scroll :当用户在指定的元素中滚动滚轮条时触发
5. 事件绑定 
直接绑定事件:使用 元素.事件名称(函数) 如 $("#app").click(function(event){}); 。 
on 绑定事件: 元素.on(‘事件名称,...’,函数) on方法可以一次绑定多个事件,事件名称之间使用逗号隔开即可。 
off 删除事件: 元素.off("事件名称") 关闭元素的某个事件。 
 
动画处理: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 $("#app" ).hide ()  $("#app" ).show ()  $("#app" ).toggle ()  $("#app" ).fadeIn ()  $("#app" ).fadeOut ()  $("#app" ).fadeToggle ()  $("#app" ).slideUp ()  $("#app" ).slideDown ()  $("#app" ).slideToggle ()  $("#app" ).animate ({width :"200px" ,height :"200px" },2000 )             .animate ({width :"-=200px" ,height :"+=200px" },2000 )              .animate ({width :"100px" ,height :"200px" },2000 );  $("#app" ).stop ();  
 
ajax(jQuery): 获取表单数据: 1 2 3 4 5 6 7 8 9 $('#form-box' ).serialize ();  $('#form-box' ).serializeArray (); $("#form-box" ).submit ();  $("form" ).submit (function  (e ) {     e.preventDefault ();            }); 
 
ajax发送请求: 1 2 3 4 5 6 7 8 9 $.ajax ({     url : "/greet" ,     data : {name : 'jenny' },     type : "GET" ,     dataType : "json" ,     success : function (data ) {              } }); 
 
post请求: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 $.post ({          url :"${pageContext.request.contextPath}/allBook" ,          data :{"mgs" :$("#mgs" ).val ()},          success :function (data ){         console .log (data);     },          error :function  ( ){         console .log ("error" );     } });