一、jQuery概述
1、什么是jQuery
jQuery:是一门轻量的、收费开源的JS函数库
document.getElementById(“user”).value
$(“#user”).val();
jQuery能够极大地简化JS代码
jQuery核心思想: 写的更少,但做的更多
轻量的:一个框架或者技术对咱们我的项目的侵入水平是非常低的(反过来说,咱们的我的项目或代码对该技术的依赖水平是非常低的)
2、jQuery劣势
1)能够极大地简化JS代码
2)能够像CSS选择器一样获取元素
3)能够通过批改CSS款式来管制页面的成果
oDiv.style.backgroundColor = “red”;
$(“div”).css(“background-color”, “red”);
4)能够兼容罕用浏览器(谷歌/火狐/苹果/欧朋)
3、如何引入jQuery
jquery-1.8.3.js: 未压缩的(262kb),学习或钻研或在我的项目上线之前
jquery-1.8.3.min.js: 压缩之后的(92kb),我的项目上线
在head或body标签外部增加script标签,通过script标签引入jQuery的函数库文件
<!– 引入jQuery的函数库文件 –>
<script src=”js/jquery-1.8.3.min.js”></script>
在引入jQuery函数库文件时,如果文件引入门路谬误,则会导致文件引入失败
var oDiv = jQuery(“#demo”);
var oDiv = $(“#demo”);
jQuery == $,因而,调用jQuery()函数等价于调用$()函数
4、文档就绪事件函数
文档就绪事件函数: 该函数会在浏览器加载完所有的html元素后立刻执行
1、JS提供的文档就绪函数:
window.onload = function(){
//这里的代码会在浏览器加载完所有的html元素后立刻执行
}
2、jQuery提供的文档就绪函数:
简写模式:
$(function(){
//这里的代码会在浏览器加载完所有的html元素后立刻执行
})
残缺写法:
$(document).ready(function(){
//这里的代码会在浏览器加载完所有的html元素后立刻执行
});
3、什么时候该用文档就绪事件函数?
如果要获取元素,获取元素的代码执行时,元素还没有被浏览器加载,必定是获取不到的!
此时,能够将获取元素的代码放在文档就绪事件函数中,因为这个函数是在浏览器加载完所有的html元素后立刻执行,此时所有元素都曾经被加载了,在这个函数中获取任何元素都能够获取到!
只有获取元素的代码是在元素加载后执行,就能够获取(不论应用什么形式!)
JS的和jQuery的文档就绪事件函数,在执行时,jQuery会更快,因为jQuery会在页面元素自身加载完就执行,如果元素里有内容,它是不加载的。jQuery这个文档就绪事件函数能够写多个,然而JS的只能写一个。
二、jQuery选择器
0、为元素绑定点击事件的几种形式:
形式一: 在元素上通过onclick属性为元素绑定点击事件
只有点击这个元素,就会触发点击事件,执行testFn()函数
形式二: (JS)通过代码获取元素,返回的是示意该元素的JS对象,
再通过【对象.onclick】属性为元素绑定点击事件。
只有点击这个元素,就会触发点击事件,执行前面的function函数
var oB1 = document.getElementById(“b1”);
oB1.onclick = function(){
alert(“JS:b1按钮被点击了。。。”);
}
形式三: (jQuery)通过选择器获取元素,返回的是示意该元素的jQuery对象,
再通过【对象.click】函数为元素绑定点击事件。
$(“#b1”).click( function(){
alert(“jQuery:b1按钮被点击了。。。”);
} );
1、根本选择器
1)元素名选择器
$("div") -- 匹配所有的div元素
$("span") -- 匹配所有的span元素
2)class选择器
$(".mini") -- 匹配所有class值为mini的元素
$("span.mini") -- 匹配所有class值为mini的span元素
<span class="mini">...</span>
<span class="mini">...</span>
<div class="mini">...</div>
<div class="mini">...</div>
3)ID选择器
$("#one") -- 匹配id值为one的元素
4)多元素选择器
$("div,span,.mini,#one") -- 匹配所有的div,所有的span,以及所有class为mini,以及id值为one的元素
2、层级选择器
1)后辈选择器
$("div span") -- 匹配所有div外部的span元素
$("#box1 input") -- 匹配id值为box1元素外部的所有input元素
2)相邻兄弟选择器
相邻兄弟:如果两个元素是紧挨着,并且具备雷同的父元素,这两个元素就是相邻兄弟
能够通过相邻兄弟选择器选中前面紧邻的兄弟元素
$("#two+span") -- 匹配id值为two的元素前面紧邻的span兄弟元素
$("#two").next("span") -- 匹配id值为two的元素前面紧邻的span兄弟元素
$("#two").prev("span") -- 匹配id值为two的元素后面紧邻的span兄弟元素
-----------------------
<span>000</span>
<div id="#two"></div>
<span>111</span>
-----------------------
$("#two").nextAll() -- 匹配id为two的元素前面所有的兄弟元素
$("#two").nextAll("div") -- 匹配id为two的元素前面所有的div兄弟元素
$("#two").prevAll("div") -- 匹配id为two的元素后面所有的div兄弟元素
$("#two").siblings("div") -- 匹配id为two的元素前、后所有的div兄弟元素
3、根本过滤选择器
依据下标匹配元素:
$("div").eq(n) -- 示意匹配所有div中的第n+1个div元素
$("div:eq(n)") -- 示意匹配所有div中的第n+1个div元素
$("div:first") -- 匹配所有div中的第一个div元素
$("div").eq(0) -- 匹配所有div中的第一个div元素
$("div:last") -- 匹配所有div中的最初一个div元素
$("div").eq( $("div").length-1 ) -- 匹配所有div中的最初一个div元素
$("div").eq( -1 ) -- 匹配所有div中的最初一个div元素
4、表单选择器
$(":input") -- 匹配所有的表单项元素(包含input、select、textarea、button)
$(":text") -- 匹配所有一般文本输入框
$(":password") -- 匹配所有明码输入框
$(":radio") -- 匹配所有单选框
$(":checkbox") -- 匹配所有复选框
$(":radio:checked") -- 匹配所有被选中的单选框
$(":checkbox:checked") -- 匹配所有被选中的复选框
调错步骤:
1)按f12,看浏览器的控制台(Console)窗口中有没有谬误提醒
如果有,依据错误信息进行排查!
2)也能够在程序中增加 debugger 断点!
三、
1、html元素操作
(1)创立html元素
$("<div></div>") -- 创立一个div元素,返回一个jQuery对象
$("<div>这是一个div元素</div>") -- 创立一个蕴含内容的div元素,返回一个jQuery对象
$("<input type='text'/>") -- 创立文本输入框,返回一个jQuery对象
(2)增加子元素 — append()
$("body").append("<table><tr><td>这是一个td元素</td></tr></table>");
-- 往body中增加一个表格元素
var $div = $("<div>这是一个div元素</div>");
$("body").append( $div ) -- 往body中增加一个div元素
(3)删除元素 — remove()
$("div").remove() -- 删除所有匹配的div元素
(4)替换元素 — replaceWith()
$("div").replaceWith("<p>我是来替换div的p元素!!</p>")
2、html内容 及 值的操作
<div>div111</div>
<input type="text"/>
<select>...</select>
html()函数 — 获取元素的所有内容(包裹在开始标签和完结标签中的所有内容)
如果通过选择器匹配了多个元素,只能获取第一个元素的内容
html()函还能够设置元素的内容,如果通过选择器匹配了多个元素,则会给所有元素设置内容
-- 在js中对应的是innerHTML属性
text()函数 — 获取元素中的所有文本内容(值获取文本,不获取标签)
如果通过选择器匹配了多个元素,能够将所有元素外部的文本都返回
text()函数还能够为元素的设置文本内容(只能设置文本)
-- 在js中对应的是innerText属性(这个属性在局部浏览器中不兼容)
val()函数 — 获取表单项元素的value值 或者是 为表单项元素设置value值
表单项元素: input/select/option/textarea
3、html元素属性 或者 css属性操作
<div name="aaa" style="border:2px solid red"></div>
prop()函数 — 获取元素的某一个属性值,或者为元素设置属性值
attr()函数 — 能够获取元素的属性值,或者为元素设置属性值
prop()和attr()的区别:
(1) prop函数是在jquery1.6版本之后才呈现,用于获取或设置元素的属性(固有属性)值,
比方: input元素的id,class,name,type等属性都是固有属性
比方: 为input指定一个aaa属性,这个叫做自定义属性
attr函数是在jquery1.6版本之前就有的函数,用于获取或设置元素的属性(自定义属性)值
css()函数 — 能够获取或设置元素的css款式
4、动画函数
show() — 设置元素为显示状态\, 等价于 css(“display”\, “block|inline”);
hide() — 设置元素为暗藏状态, 等价于 css(“display”, “none”);
toggle() — 切换元素的显示状态, 如果元素自身是显示的,则会变成暗藏状态,如果元素自身是暗藏的,则会变成显示状态
slideToggle() — 切换元素的显示状态, 如果元素自身是显示的,则会变成暗藏状态,如果元素自身是暗藏的,则会变成显示状态
5、parent()/parents()/find()
parent() — 获取以后元素的父元素, 相似于js中的 parentNode 属性
parents(“tr”) — 获取以后元素的所有的先人元素
$(“:checked”).parent().parent();
$(“:checked”).parents(“tr”)
find() — 获取以后元素外部指定的后辈元素
$(“div”).find(“span”) — 获取所有div元素外部的span元素
$(“div span”) — 获取所有div元素外部的span元素
发表回复