jq至今任然没被淘汰还有很多人使用,可见方便性兼容性很高;
属性选择符: $(‘a[href^=“mailto”]’) 选择href属性值以mailto开头的a标签; $(‘a[href $=".pdf"]’)选择href属性值以.pdf结尾的a标签; $(‘a[href *=“henry”]’)选择属性值中有henry的啊、标签; $(‘div:odd’)选择奇数项; $(‘div :even’)选择偶数项; $(‘div:contains(xxxx)’)选择内容中有xxx的div(内容有英文区分大小写);
$(document).ready();在页加载后执行等同于原生window.onload不同点是可重复定义且不会被覆盖只会按照定义顺序执行; 简写形式: $( function () { } )();
DOM遍历: $(‘el’).filter( ()=>{}) 过滤;
next();nextAll();选择下一个最接近同辈的子元素; prev();prevAll();选择上一个接近同辈的子元素;
.hover();类似css3:hover伪类,鼠标滑过效果;该方法接收两个函数参数,第一个函数指鼠标进入元素,第二个函数指鼠标移出元素;
事件传播过程:先捕获后冒泡; 因为事件冒泡导致元素的父祖级元素也会加上该事件; 如何避免: 1.通过target可以确定被点击的元素;
$(el).click(function(ev){ if(ev.target==this){ $(el).addClass("red"); } })2.停止事件传播 IE设置事件对象的cancelBubble属性的指为false; 或者调用事件对象stopPropagationl()方法;
阻止默认操作(.preventDefault());默认操作不在正常的事件传播流中发生;事件传播和默认操作是相互独立的两套机制,二者任何一方发生都可以阻止另一方,想要同时停止可以在事件处理中返回false;
事件委托(事件代理) 利用事件冒泡的高级技术; $(el).on(“click”,function(){ } );
移除事件 $(el).off(“click”); 加命名空间针对性移除: $(el).on(“click.collapse”,function(){}); $(el).off(“click.collapse”);
对于只需触发一次就移除的事件;简写方法: $(el).one(“click”,function(){});
自动触发事件: $(el).trigger(“click”);
无需刷新页面即可从服务器上加载数据的手段
$(doqument).ajaxStart();监听ajax 这里可以给页面添加loading信息,提示正在加载; $(doqument).ajaxStop();请求结束;