背景知识
目的:简化JavaScript开发
特点
写的少,做得多(Write less Do More)
兼容各大浏览器(Chrome、Firefox、Safari、IE8.0>)
能完成较高难度的富客户端页面
作用:预封装很多对象和函数
历史
曾经是一个优秀的轻量级javascript类库
是由John Resig在2006年1月创建的开源项目
jQuery 2.x版本不再支持IE 8及之前版本
JQuery对象
DOM对象
通过DOM获取到的HTML元素就是DOM对象
JQuery对象
通过jQuery包装DOM对象后产生的对象
jQuery底层还是DOM对象
jQuery对象转换为DOM对象
使用get(index)方法
jQuery对象是类数组对象
DOM对象转换为jQuery对象
$(DOM对象)
约定
通过jQuery所得到的对象,使用“$”符号标识
在jQuery中,“$”符号等同于“jQuery”
若冲突可以用语义释放
var jQ = jQuery.noConflict();
DOM
基本操作
内容操作
html()
用法
<p class="p1">$("#test").html();</p>
<p class="p1">$("#test2").html("<b>Hello world!</b>");</p>
说明
读取或修改指定元素的HTML内容
类似于innerHTML属性的作用
val()
用法
<p class="p1">$("#test").val();</p>
<p class="p1">$("#test3").val("Dolly Duck");</p>
text()
用法
<p class="p1">$("#test").text();</p>
<p class="p1">$("#test1").text("Hello world!");</p>
说明
读取或修改指定元素的文本内容
类似于textContent属性的作用
属性操作
attr()
用法
<p class="p1">$(“#test”).attr("href");</p>
<p class="p1">$("#w3s").attr("href","http://www.deepe.ren/jquery");</p>
removeAttr()
用法
$(“#test”).removeAttr("href");
样式操作
<p class="p1">$("p").css({"background-color":"yellow","font-size":"200%"});</p>
attr
语法
attr("class", className)
attr("class", className)
removeClass
语法
removeClass(className)
注意
removeClass()<br>删除指定元素的所有样式<br>
toggleClass
语法
toggleClass(className)
hasClass
说明
判断是否包含ClassName样式(返回Boolean值)
css
语法1
css(attrName)<br>
说明:只能设置一个CSS属性
语法2
css(attrName, attrValue)<br>
说明:只能设置一个CSS属性
语法3
css( {key : value} )
说明:可以设置多个CSS属性
节点操作
创建节点
节点方式
属性节点
attr(attrName, attrValue)
插入节点
<p class="p1">$("img").after("Some text after");</p>
<p class="p1">$("img").before("Some text before");</p>
append()
用法
<p class="p1">$("p").append("Some appended text.");</p>
说明
append后面的元素插入在append前面的元素的后面
prepend()
用法
<p class="p1">$("p").prepend("Some prepended text.");</p>
说明
prepend后面的元素插入在prepend前面的元素的前面
appendTo()
用法
说明
appendTo前面的元素插入在appendTo后面的元素的后面
prependTo()
用法
说明
prependTo前面的元素插入在prependTo后面的元素的前面
删除元素
<p class="p1">$("p").remove(".italic");</p>
<p class="p1">$("#div1").empty();</p>
遍历
祖先
<p class="p1">$("span").parent();</p>
返回指定元素的父级元素(一个)
<p class="p1">$("span").parents("ul");</p>
返回指定元素的所有父级元素(多个)
<p class="p1">$("span").parentsUntil("div");</p>
返回span的父级元素(包括本身),截止到div标签(中间的)
后代
<p class="p1">$("div").children();</p>
返回指定元素的直接子元素(一级)
$("div").children("p.1");
返回指定元素的指定selector的所有子元素
<p class="p1">$("div").find("span");</p>
返回指定元素的指定selector的后代元素
同胞
上一个同胞
<p class="p1">prev()</p>
返回上一个兄弟元素
<p class="p1">prevAll()</p>
返回上面所有的兄弟元素
下一个同胞
<p class="p1">$("h2").next();</p>
返回下一个兄弟元素
<p class="p1">$("h2").nextAll();</p>
返回下面全部兄弟元素
<p class="p1">$("h2").nextUntil("h6");</p>
返回下一个兄弟元素直到h6
上下同胞
<p class="p1">$("h2").siblings();</p>
返回指定元素的所有的兄弟元素
<p class="p1">$("h2").siblings("p");</p>
返回指定元素的所有指定selector的兄弟元素
过滤
<p class="p1">$("div p").first();</p>
<p class="p1">$("div p").last();</p>
<p class="p1">$("p").eq(1);</p>
<p class="p1">$("p").filter(".intro");</p>
<p class="p1">$("p").not(".intro");</p>
动画
隐藏/显示
<p class="p1">$(selector).hide(speed,callback);</p>
<p class="p1">$(selector).show(speed,callback);</p>
淡入淡出
<p class="p1">$(selector).fadeIn(speed,callback);</p>
<p class="p1">$(selector).fadeOut(speed,callback);</p>
<p class="p1">$(selector).fadeToggle(speed,callback);</p>
<p class="p1">$(selector).fadeTo(speed,opacity,callback);</p>
滑动
<p class="p1">$(selector).slideDown(speed,callback);</p>
<p class="p1">$(selector).slideUp(speed,callback);</p>
<p class="p1">$(selector).slideToggle(speed,callback);</p>
动画
<p class="p1">$(selector).animate({params},speed,callback);</p>
队列功能
<p class="p1"><span class="s1">编写多个</span> animate() <span class="s1">调用</span></p>
停止
<p class="p1">$(selector).stop(stopAll,goToEnd);</p>
回调函数Callback
<p class="p1"><b>Callback </b><span class="s1">函数在当前动画</span><b> 100% </b><span class="s1">完成之后执行</span></p>
chaining
<p class="p1">$("#p1").css("color","red").slideUp(2000).slideDown(2000);</p>