一.选择器
1.基本选择器
(1)$("#id")——根据给定的ID名来选择元素
(2)$("div")——根据给定的元素名来选择
(3)$(".class")——根据给定的class(类名)来选择
(4)$("*")——匹配所有的元素
(5)$("div,span,p,myclass") 匹配多个元素
2.层级选择器
(1)$("form input")——找到表单所有的input的元素;
(2)$(ul>li)——匹配ul中所有子级的li元素
(3)$("div+span")——匹配在div下面的所有的span元素
(4)$("from~input")——匹配所有from元素同辈的input元素
3.内容选择器
(1)$("div:container('hello')")——查找内容中包含“hello”的所有div元素
(2)$("div:empty")——查找不包含子元素或者文本的空td元素
(3)$("div:has(p)")——选择内容包含p标签的所有div元素
(4)$("div:parent")——选择内容包含有子元素或者文本元素的所有div元素
4.可见性选择器
(1)$("tr:hideen")——选择被隐藏的所有tr元素
(2)$("tr:visible")——选择所有可见的tr元素
5.属性选择器
$("div[id]")——选择属性名为id的div元素
$("div[id='user']")——选择id为user的div元素
$("div[id!='user']")——选择id不为user的div元素
6.子元素选择器
$("ul li:first-child")——查找每一个ul下的第一个li标签
$("div:first-of-type")——查找每一个匹配的div中查找第一个span元素
$("ul li:last-child")——查找每一个ul下的最后一个li标签
$("div:last-of-type")——查找每一个匹配的div中查找最后一个span元素
$("ul li:nth-child(2)")——查找每个ul中第二个li标签
$("ul li:nth-child(2)")——查找每个ul中倒数第二个li标签
$("ul li:nth-last-of-type(2)")——查找在每个匹配的ul中查找倒数第二个li
$("span:nth-of-type")——查找每个span,这个 span 是 其所有兄弟span元素中的第二个元素。
二.DOM操作的相关方法
1.$.get("div")——获取div标签的值与内容
2.$.(“div”).eq(index)——eq(index) 匹配索引值为index的元素
3.find()($("p").find("span"))搜索所有p标签中的后代 span 元素,
4.fiter()——$("p").filter(".intro") 返回带有类名 "intro" 的所有 <p> 元素:
5.not()——.not(index) 选择不含有index的元素
6.is()——.is(index)判断元素是否含有index
7.has()——$("p").has("span") 返回拥有一个 <span> 元素在其内的所有 <p> 元素
8.and()——$("h1").add("p").add("span").css("background-color","yellow") 现有的H1元素添加相同的CSS样式为p和span元素。
9.end()(回退为上级标签)——$("p").find("span").end().css("border", "2px red solid") 选择所有段落,找到这些段落中的 span 元素,然后将它们恢复为段落,并把段落设置为两像素的红色边框
三.取赋值相关的方法:
1.html()---- $("p").html("Hello <b>world</b>!");
改变p标签的内容
2.text() --- $("p").text("Hello world!");改变p标签的文本内容
2.val() (设置input子段这种value的值)--- $("input:text").val("Glenn Quagmire");用在没有value属性的标签上面,是往jQuery这个对象上面赋值;type="text",会有异同,但不影响正常使用
3.size——$("N").size() (输出N元素的数量)
4.addclass() 给标签添加class属性
5.removeclass() 删除标签中的class属性
6.hasclass() 判断标签是否含有class属性或者是class属性是否含有所给定的值
7.css() 设置的行内样式,尽量少用,避免层次的冲突
8.attr() (基于setAttribute getAttribute)----设置标签的属性与属性值(attr()关注的是属性(可以是自定义的属性)---对于HTML元素我们自定义的DOM属性,在处理时,使用attr方法)
9.prop() ;。removeProp()
10.prop() ---设置并返回被选中元素的属性和值
11.removeProp()----y移除被选中元素的属性
补充:prop与attr的区别:
prop关注的是一种状态,只能控制本身的属性;如果增加一个系统不承认的属性,增加到jQuery对象上去了(对于HTML元素我们本身就带有的固有属性(w3c承认的属性),在处理时,使用prop方法)
attr()关注的是属性(可以是自定义的属性)---对于HTML元素我们自定义的DOM属性,在处理时,使用attr方法
12.serialize()---$("div").text($("form").serialize())-----输出序列化表单值的结果
13.$('form').serializeArray()-----$("form").serializeArray();(输出以数组形式序列化表单值的结果)
四.基于jQuery对象增删改查相关方法
1.next————$("li").next()----返回li标签后的每个同级标签
2.prev————$("li").prev()返回li标签前的每个同级标签
3.prevAll()、返回li标签前的所有同级标签
4.nextAll()返回li标签后的所有同级标签
5.nextUntil() 返回 selector 与 stop 之间的每个元素之后的所有同级元素
6.prevUntil()返回在类名为“star”和“stop”的li元素之间的所有上一个兄弟元素,
7.siblings()返回被选元素的所有同级元素
8.parents()返回被选元素的所有祖先元素
9.closest() 方法返回被选元素的第一个祖先元素。
10.offsetParent() 方法返回第一个被定位的父元素。
11.slice() 方法选取基于索引的元素的子集
12.insertAfter() 方法在被选元素后插入 HTML 元素——$("<span>Hello world!</span>").insertAfter("p");-------在每个 <p> 元素后插入一个 <span> 元素:
13.insertBefore()方法在被选元素前插入 HTML 元素——$("<span>Hello world!</span>").insertBefore("p");-------在每个 <p> 元素前插入一个 <span> 元素:
14.before()方法在被选元素前插入指定的内容 ——$("p").before("<p>Hello world!</p>");-------在每个 <p> 元素前插入内容
15.appendTo() 方法在被选元素的结尾插入 HTML 元素。—— $("<span>Hello World!</span>").appendTo("p");--------在每个 <p> 元素的结尾插入 <span> 元素:
16.prependTo()方法在被选元素的开头插入 HTML 元素。基于jQuery对象增删改查相关方法
17.prepend() 方法在被选元素的开头插入指定内容。
18.remove() 方法移除被选元素,包括所有的文本和子节点
19.empty() 方法从被选元素所有子节点和内容
(
注意:该方法不会移除元素本身,或它的属性。
提示:如需移除元素,但保留数据和事件,请使用 detach() 方法。
提示:如需移除元素及它的数据和事件,请使用 remove() 方法。
)
20.detach() 方法移除被选元素,包括所有的文本和子节点。然后它会保留数据和事件。
21.wrap() 方法使用指定的 HTML 元素来包裹每个被选元素—— $("p").wrap("<div></div>"); ------在 <div> 元素中包裹每个 <p> 元素
22.wrapInner() 方法使用指定的和HTML元素包裹每个备选元素的内容
23.wrapAll()方法 ----wrapAll() 方法使用指定的 HTML 元素来包裹所有被选元素 ——$("p").wrapAll("<div></div>");----用 <div> 元素来包裹所有 <p> 元素
24.unWrap()——unwrap() 方法移除被选元素的父元素
25.clone()--(clone() 方法生成被选元素的副本,包含子节点、文本和属性)—— $("p").clone()----克隆所有的 <p> 元素
五.jQuery的事件绑定方法
1.on()---给备选元素绑定一个事件绑定属性 2.one() 方法为被选元素添加一个或多个事件处理程序,并规定当事件发生时运行的函数。——$("p").one("click",function(){ $(this).animate({fontSize:"+=6px"});-------当点击 <p> 元素时,增加该元素的文本大小(每个 <p> 元素只能触发一次事件) });
3.off() 没有参数时;该方法移除被选元素的所有事件属性;当有参数时则移除被选元素的指定的事件属性 4.trigger()自定义事件----(自己去执行事$("input").trigger("select");----(触发input元素的select事件)
5.:hover()伪类 (当鼠标移到啊、指定元素上触发;移开返回原来的样式) 6.click()鼠标点击事件 7.keydown()键盘点击事件 8.mouseenter()鼠标移动事件 9.event.pageX;event.pageY(返回鼠标指针的位置,通常与event.pageY使用)--相对于文档的距离 10.e.clienX (返回指针的坐标的位置,通常与e.clienY使用)---相对于窗口的距离——jQuery中阻止默认行为与冒泡的方法:::retuen:false
六.jQuery的时间绑定事件
1.hide() 隐藏动画效果
2.show()显示动画效果
3.toggle() 如果状态的样式为显示则转换为隐藏;如果为隐藏则转换为显示
4.fadeIn() 方法逐渐改变被选元素的不透明度,从隐藏到可见(褪色效果)
5.fadeOut() 方法逐渐改变被选元素的不透明度,从可见到隐藏
6.fadeTo() 方法逐渐改变被选元素的不透明度为指定的值
7.fadeToggle() 方法在 fadeIn() 和 fadeOut() 方法之间切换
8.slideDown() 被压缩的元素往下拉伸还原
9.slideUp() 被选中的元素往上压缩知道看不见
10.slideToggle:如果一个元素是隐藏的,则将他显示;如果一个元素是显示的则将他隐
11.animate()参数:(target duration easing callback)
12.stop() 停止当前运动的状态,直接进入下一个阶段
13.finish() 停止所有的动画的效果,直接进入最终位置
14.delay() 延迟
15.jQuery.fx.off=true 运动的开关
七.jQuery位置坐标图形大小相关的方法
1.offset() 给所选元素一个参照文档的定位
2.position() 返回一个定位的对象
3.scrollTOP() 设置或者返回被选元素的垂直滚动条位置(提示:当滚动条位于最顶部时,位置为0)
4.scrollLeft 设置或者返回被选元素的水平滚动条的位置(提示:当滚动条位于最左侧时,位置为0)
5.width() 显示被选元素的宽度
6.height() 显示被选元素的宽度
7.innerWidth() 显示被选元的宽度(元素宽度与内边距)content.width+padding
8.outerwidth() 显示被选元素(外层)宽度(元素宽度与内边距加上边框距离)content.width+padding*2+border*2
9.innerheight() 显示被选元素(元素高度与内边距)高度conten.height+padding*2
10.outerHeight() 显示被选元素(外层)高度(元素高度与内边距加上边框距离)content.height+padding*2+border*2
11.each()遍历循环数组
(1)参数:function回调函数:函数参数为index,ele---dom元素)
(2)作用:循环遍历JQ数组
12.children() 获取所选元素的子元素
(1)参数(selector字符串)
(2)作用:获取被选元素的子元素
(3)说明:1.无参数时:获取所有子元素 2.有参数时:获取满足选择器的子元素
13.index() 获取指定元素的索引值
(1)参数:jq对象
(2)作用:获取指定元素在兄弟元素中的索引值
(3)说明:如果没有指定元素返回-1
八.jQuery工具方法
1.$.type() 判断数据类型:
补充内容:(1)$.isArray() 判断是否为数组类型
(2)$.isFunction() 判断是否为函数
(3)$.isWindow() 判断指定参数是否是一个window窗口
2.$.trim() 消除空格(去除字符串两端的空白字符)
3.$.proxy() 改变this的指向
4.$.noConflict() 防止冲突
5.$.each() 遍历循环数组
6.$.map() 用回调函数循环遍历
(1)回调函数 function(ele,index){}
(2)遍历输出元素下表和内容
(3)写法://用法一:
$(arr).map(function(elem元素,index索引){
console.log(elem + "=" + index);
});
//用法二:
$.map(arr,function(elem元素,index索引){
console.log(elem + "=" + index);
});
7.$.parseJSON()严格json字符串转换成对象--原生JSON.parse()
注意:
(1).该函数转换时,要求字符串必须符合严格的JSON格式(例如:“属性名”:“字符串值”)。
(2).如果转入一个不完整的json字符串,比如“{error:0,ID:33,time:1491487757}”,将会报错。
(3).$.makeArray() 类数组转换成数组
(4).$.extend() 插件扩展 (工具方法) 将一个或者多个对象内容合并到目标对象
10.$.fn.extend() 插件扩展 (实例扩展) 是拓展jQuery对象的方法 jQuery.fn = jQuery.prototype
示例:jQuery.prototype.val = function() { return this.value }
jQuery.prototype.val = function() { return this.value }