jquery总结

一、 初识JQuery

jQuery 是一个 JavaScript 库。
写的更少,做的更多

1、引入方式
或者加载CDN文件(内容分发网络),必须要在有网络的情况下 ##### 2、入口小函数
$(document).ready(function(){
			jquery函数
})
// 或者
$(function(){
		jquery函数
})
3、入口小函数与window.onload的区别

与window.onload的区别
1、时机不同
window.onload
必须等待网页全部加载完毕(包括 图片等),然后再执行包裹代码
$(document).ready()
只需要等待网页中的DOM结构 加载完毕,就能执行包裹的代码
2、执行次数不同
window.onload只能执行一次,如果第二次,那么 第一次的执行会被覆盖
$(document).ready()可以执行多次,第N次都不会被上 一次覆盖

4、jq对象与dom对象的转换

dom对象转换成jq对象 ——————-$(dom对象)
jq对象转化成dom对象
方法一:jq对象[索引号]
方法二:jq对象.get(索引号)

二、jquery选择器

1、基本选择器
id选择器:$("#id名")

类选择器:$(" .类名" )

标签选择器:$("标签名")

包含选择器:$("E F")

$("E").find("F")      直接子集 $("E>F")

分组选择器 $("E,F,H.....")

兄弟选择器   $("E+F")紧跟着E元素的第一个F     jq语法是:$("E").next("F")

$("E~F")E后面的所有F元素

$("E").nextAll("F")

$("E").prev("F")  E上面的第一个F元素

$("E").prevAll("F")  E上面的所有F元素
2、过滤选择器
$("p:first") 	

$("p").first()       第一个 <p> 元素

$("p:first-child")   p标签下的第一个元素出现可能不止一次

last用法同上
$("ul li:eq(1)")

$("ul li").eq(1)    索引号为1的li 出现一次

$("ul li:even") 索引号为偶数的li  0 2 4 6

$("ul li:odd")   索引号为奇数的li  135

$("ul li:nth-child(even)") ul里的第偶数个li

$("ul li:nth-child(odd)")  ul里的第奇数个li

$("li:gt(3)")  索引号大于3的li

$("li:lt(3)")  索引号小于3的li

sibilings()  除了本身的所有
3、内容过滤选择器
:contains("文字")

选取包含指定字符串的元素。
该字符串可以是直接包含在元素中的文本,或者被包含于子元素中。

$(“div:contains(‘我’)”)
选择内容里包含我的所有div

:empty
选取空的元素。
空元素指的是不包含子元素或文本的元素。

$(“div:empty”)选择不包含子元素(含文本)的所有div元素

$("div").empty() 代表清空div内部的内容

:has(E1)
选择包含有(E1选择器匹配的元素)的所有元素

$(“div:has(p)”)选择含有p元素的所有div元素
:parent
选择含有子元素或文本的元素
$(“div:parent”)选择拥有子元素(包含文本)的所有div元素
4、表单选择器
$(":input")
:input 选择器选取表单元素。
该选择器同样适用于 <button> 元素。

$(":text")
:text 选择器选取类型为 text 的 <input> 元素。

与$("[type=text]")选取的一样

$(":password")
:password 选择器选取类型为 password 的 <input> 元素。
:enabled	$(":enabled")	所有激活的 input 元素
:disabled	$(":disabled")	所有禁用的 input 元素
:selected	$(":selected")	所有被选取的 input 元素
:checked	$(":checked")	所有被选中的 input 元素

5、filter()筛选
filter()
将匹配元素集合缩减为匹配指定选择器的元素。
$('li').filter(':even').css('background-color', 'red');选择为奇数的li

三、jquery中CSS样式的写法

1、设置样式

读取样式

jquery对象.css("样式属性名")

设置样式

设置一条样式
	jquery对象.css("样式属性名",“属性值”)
设置多条样式
	jquery.css({"样式属性名1":“属性值1" , "样式属性名2":“属性值2"})
2、类操作
增加类
jquery对象.addClass("类名1 类名2 类名3")
$(".box").addClass("bg fz");


删除类
removeClass() 方法从被选元素移除一个或多个类。
注释:如果没有规定参数,则该方法将从被选元素中删除所有类。
$("div").removeClass();//清空所有类
$("div").removeClass("bg box");


增加或删除
toggleClass() 对设置或移除被选元素的一个或多个类进行切换。
该方法检查每个元素中指定的类。如果不存在则添加类,如果已设置则删除之。这就是所谓的切换效果。
不过,通过使用 "switch" 参数,您能够规定只删除或只添加类。
class	必需。规定添加或移除 class 的指定元素。
如需规定若干 class,请使用空格来分隔类名。
switch	可选。布尔值。规定是否添加或移除 class。
3、位置操作
offset
	$(selector).offset().left     获取元素相对于文档左侧的偏移量
	$(selector).offset().top     获取元素相对于文档上部的偏移量
	$(selector).offset({x:100,y:100})   设置       自动设置成了定位	
	$(".box").offset({"top":50,"left":200});
position
	返回匹配元素相对于父元素的位置(偏移)
$(selector). position().left
$(selector). position().top
该方法返回的对象包含两个整型属性:top 和 left,以像素计。
4、滚动条滚动的距离
$(selector).scrollLeft()    返回或设置匹配元素的滚动条的水平位置
$(selector). scrollTop()    返回或设置匹配元素的滚动条的垂直位置
设置滚动距离不要带单位$(".box").scrollLeft(300);
5、宽高
宽高
width()/heigth()
读取
$(".box").width()  
不包含padding ,border,margin

设置
$(".box").width(300)  
innerWidth/innerHeight
$(".box").innerWidth();
包含width,padding,不包含border,margin

$(".box").innerWidth(300);
outerWidth/outerHeight
$(".box").outerWidth(true);
包含width,padding,border,加布尔值的话包含margin
$(".box").outerWidth(300);

四、属性的读取和设置

attr
attribute   可以读取/设置固有属性 也可以读取/设置自定义属性,
但在读取时只能获得以写明的属性
读取属性值      attr("属性1","属性2")
设置    attr("属性1":"属性值1","属性2":“属性值2”)



prop()
 property   无法设置自定义属性
可获得未写明的属性 如checked=checked,prop("checked")返回值是true/false
用法同上

五、jquery动画效果

1、hide/show
 hide( [speed],[callback] )
如果被选的元素已被显示,则隐藏该元素。
jquery对象.hide()

show([speed],[callback])
如果被选元素已被隐藏,则显示这些元素

toggle([speed],[callback])
toggle() 方法切换元素的可见状态。
如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素。
2、改变透明度
fadeToggle()
如果可见就隐藏,如果隐藏就可见

fadeTo() 
将被选元素的不透明度逐渐地改变为指定的值。

$(".box").fadeTo(2000,0.3)
fadeOut( [speed],[callback] )
逐渐改变被选元素的不透明度,从可见到隐藏

fadeIn( [speed],[callback] )
opacity从0到1
3、滑动效果
slideUp()
通过上下滑动效果隐藏
	
slideDown()
显示
slideToggle()
切换
stop([stopAll],[goToEnd])
停止当前正在运行的动画。
4、animate的使用
animate
自定义动画
jquery对象.animate(参数1,参数2,参数3)
参数1:对象{属性名:属性值,........}
参数2:速度
参数3:回调函数

利用animate完成回到顶部的函数
$("html,body").stop().animate({scrollTop:0},1000);

停止动画
jquery对象.stop(参数1,参数2)
参数1:可选  默认false  是否停止加入队列的后续动画
参数2:可选  默认false  是否完成当前动画

延迟动画
delay()
对队列中的下一项的执行设置延迟。
$(".box").fadeOut(2000).delay(2000).slideDown(1000);

六、jquery对文档的操作

1、对内容的操作
html()
	jquery对象. html()   获取jquery对象里的内容
	jquery对象. html(“内容”)   更改jquery对象里的内容,能识别标签

text()
	jquery对象. text()   获取jquery对象里的内容
	jquery对象. textl(“内容”)   更改jquery对象里的内容,不能识别标签,只能识别文本

val()
	jquery对象.val()    获取表单对象的当前value值
	jquery对象.val(“内容”)    设置表单对象的当前value值
2、内部后部添加
jquery对象.append(content)  在jquery对象内部末尾插入content内容

$(".box").append("中国");
$(".box").append("<a href=''>中国</a>");
$(".box").append($("span"));
$(content).appendTo(jquery对象)   把content内容插入到jquery对象内部末尾

$("<a href=''>中国</a>").appendTo($(".box"));
("span").appendTo($(".box"));
3、内部前面添加
prepend() 

$(".box").prepend("中国加油");
 $(".box").prepend("<a href=''>新超链接</a>");
$(".box").prepend($("span"));
prependTo()
prepend() 和 prependTo() 方法作用相同。差异在于语法:内容和选择器的位置,以及 prepend() 能够使用函数来插入内容。
外部后面添加
$("<a href=''>连接</a>").prependTo($(".box"));
$(".con").prependTo($(".box"));
4、外部后面添加
jquery对象.after()   在被选元素后插入指定的内容
$(".box").after("<h1>你好中国</h1>");
$(content).insertAfter(jquery对象) 
在被选元素之后插入 HTML 标记或已有的元素。
注释:如果该方法用于已有元素,这些元素会被从当前位置移走,然后被添加到被选元素之后。
$(".box").after("<h1>你好中国</h1>");
5、外部前面添加
before() 方法在被选元素前插入指定的内容。
$(".box").before("djdjd");
inertBefore()
$("span").insertBefore($(".box"))
6、删除
// $(".box").detach();//删除自身与后代
$(".box").remove();//删除自身与后代
('.box').empty();//清空内部内容
7、替换
replaceWith() 方法用指定的 HTML 内容或元素替换被选元素。
replaceAll() 与 replaceWith() 作用相同。差异在于语法:内容和选择器的位置,以及 replaceWith() 能够使用函数进行替换。
 $(".box").replaceWith("加油中国");
$(".box").replaceWith("<h3>加油中国</h3>");
 $(".box").replaceWith($("p"));
 $("<h3>加油中国</h3>").replaceAll($(".box"));
8、克隆
jquery对象.clone([boolean])
参数:可选  布尔值 默认false  不克隆事件  若为true,克隆事件
9、包含
jquery对象.wrap("包裹元素格式")  选中的jquery对象各自被包裹
 jquery对象.wrapAll("包裹格式")  把所有选中的jquery对象包裹起来 
 jquery对象.wrapInner("包裹格式")  把每一个jquery对象里的内容各自包裹起来
 $(".box").unwrap();//删除包裹  删除父元素

七、jquery对事件的操作

1、委托事件
绑定
bind()
绑定多个事件,执行一个函数
bind("事件名1  事件名2......",function(){})
绑定多个事件执行不同的函数
bind({"事件名1":function(){},"事件名2":function(){
},........)


on()
on的用法同上
可绑定未来事件
$("ul").on("click","li",function(){
注意与delegate()的区别

delegate() 
该方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
jquery对象.delegate(参数1,参数2,参数3)
参数1:必需。规定要附加事件处理程序的一个或多个子元素。
参数2:必需。规定附加到元素的一个或多个事件。由空格分隔多个事件值。必须是有效的事件。
参数3:执行的函数
 $("div").delegate("p","click",function(){})



解绑
unbind()
jquery对象.unbind("事件名1   事件名2  ........")
off()
jquery对象.off("事件名1  事件名2  .......")
die()
移除所有通过 live() 函数添加的事件处理程序
undelegate()
移除一个被添加的事件处理器
2、模拟事件
jquery对象.trigger("事件名")  可以触发默认行为
$(".user").trigger("focus");

jquery对象.triggerHandler("事件名")
不会执行浏览器默认动作,也不会产生事件冒泡。
与 trigger() 方法相比的不同之处它不会引起事件(比如表单提交)的默认行为

.trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素。
3、合成事件
hover(函数1,函数2)
hover事件触发 mouseenter 和 mouseleave 事件。
注意: 如果只指定一个函数,则 mouseenter 和 mouseleave 都执行它。
4、阻止事件默认行为
event.preventDefault()
$("a").click(function(ev){
ev.preventDefault();
		});
5、阻止事件冒泡
event.stopPropagation()

八、jquery的each方法

jquery对象.each(function(i,dom){
	i 索引号
	dom dom对象
})

或

$.each(对象,function(i,dom){
 	i 索引号
	dom 值
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值