jquery简化dom
1.jquery获取元素的方式:
1.jquery除了之前的选择器都能用,还提供了新的选择器,语法:$("选择器"),
2.jquery获取的元素是一个jquery对象,只能用jquery的方法,不能使用dom核心方法及html简化方法
3.jquery和dom的转换:dom转jquery:$("dom节点"),一般用在事件中的this或事件委托的target,转换目标节点(this和target获取的都是dom
节点)
2.jquery通过冠希获取元素
1.父对象:$("xx").parent();
2.子对象:$("xx").children();
3.前一个兄弟:$("xx").prev();
4.后一个兄弟:$("xx").next();
5.其他兄弟:$("xx").siblings();
3.jquery操作元素:
1.操作元素的内容:
1.获取内容:$("xx").html(); $("xx").text();$("xx").val();
2.设置内容:$("xx").html("新值");$("xx").text("新值");$("xx").val("新值");
2.操作元素的属性:
1.获取属性:$("xx").attr("属性名");
2.设置属性:$("xx").attr("属性名","新属性值");
3.删除属性:$("xx").removeAttr("属性名");
3.操作元素的样式:
1.操作class:
1.追加class:$("xx").addclass("class名")--追加;
2.删除class:$("xx").removeclass("class名") 特殊:括号不加class删除所用的class;
3.切换class:$("xx").toggleClass("class名");
2.直接操作css:
1.获取样式:$("xx").css("css属性名");
2.设置样式:$("xx").css( {"属性名","属性值"},.... );
4.创建元素,渲染元素,
1.$(`<elem 放属性>值</elem>`) 中间可放变量;
2.渲染:$("父亲"). append(创建元素);
3.删除:$("xx").remove();
4.克隆:let clon=$("xx").clone(true);
jquery简化事件及动画
1.事件集合:click/mouseover/mouseout/mousemove/input/focus/blur/submit/resize/change/dbclick/load/select/scroll/keydown/keyup/keypress/
2.jquery绑定键盘事件:
$(window/document).键盘事件名(()=>{});
keydown:按下和按住时都会触发,而且所有的按键都会触发 - 更适合用于做游戏
keypress:按下和按住时都会触发,字母数字空格和回车可以触发,其余不行
keyup:键盘松开时会触发,所有的按键都会触发 - 街机游戏 - 比手速
3.获取键盘的键码数:keyCode;
4.jquery动画:回调函数在动画执行完毕后再执行
1.预定义动画:3组,都是显示和隐藏效果:
1.显示隐藏:$("xx").toggle(time,回调函数);toggle=hide+show;
2.滑动效果:$("xx").slidetoggle(time,回调函数);slidetoggle=slidedown+slideup;
3.淡入淡出效果:$("xx").fadetoggle(time,回调函数);fadetoggle=fadein+fadeout;
2.自定义动画:
1.并发动画:同时执行的动画:$("xx").animent({ "css属性名":"属性值",... },time,回调函数)
2.排队动画:连续执行动画;不支持颜色和转换操作;
3.停止动画:$("xx").stop().animate({});动画触发时先停止再开启,不会让动画排序执行;
4.判断动画执行完毕了没有: 用在轮播中来判断动画执行完毕后再开启动画;防止动画执行太快卡主页面;
if(!$("xx").is(":animated")){ };
5.获取元素的下标:$("xx").index();相同层级下的某元素下标;
6.滚动事件:$(window/document).scroll(()=>{
$(window).scrollTop();//获得滚动条当前的位置
$("xx").offset().top/left;//获得xx的距离页面顶部的位置有多远或距离页面左边的距离有多远
})
jquery插件库及封装的ajax
1.jquery-ui插件库有许多动画和插件;土
2.jquery插件库:里面啥都有,可以挑选各种插件;
3.封装的ajax:
1.第一层:$.ajax({
"url": 后端的路径;//必须写
"type":"GET/POST";//发送请求的方式;
"data":"key=value"/;//前端发送的数据
"dataType":"json/xml/html/jsonp";//返回数据脱掉外衣;
"success":(data)=>{};//回调函数,接受到数据后的操作;
})
2.第二层:api:
$.get("url","data可选",callback,"JSON")
$.post("url","data可选",callback,"JSON")
3.第三层:
1、前端跨域
$.getJSON("url?callback=?","data可选",callback,);
2、后端跨域
echo $_GET["callback"]."(".JSON_encode($arr).")";