1、jQuery是一个JavaScript函数库。
2、jQuery是一个轻量级的"写的少,做的多"的JavaScript库。
3、jQuery库包含以下功能:HTML 元素选取、HTML 元素操作、CSS 操作、HTML 事件函数、JavaScript 特效和HTML DOM 遍历和修改。
为什么使用jQuery
1、目前网络上有大量开源的 JS 库, 但是 jQuery 是目前最流行的 JS 库,而且提供了大量的扩展。
2、很多大公司都在使用 jQuery, 例如:Google、Microsoft、IBM、Netflix。
3、目前jQuery兼容于所有主流浏览器, 包括Internet Explorer 6!
jQuery语法:
(1)基础语法
1.美元符号定义 jQuery
2.选择符(selector)"查询"和"查找"
3.jQuery 的action() 执行对元素的操作
jQuery 入口函数:
$(document).ready(function(){
})
简写:$(functiion(){
})
与JavaScript入口函数区别:
jQuery 的入口函数是在 html 所有标签(DOM)都加载之后,就会去执行。
JavaScript 的 window.onload 事件是等到所有内容,包括外部图片之类的文件加载完后,才会执行。
jQuery选择器
1、jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。
2、jQuery选择器是jQuery为我们提供的一组方法,让我们更加方便的获取到页面中的元素。注意:jQuery选择器返回的是jQuery对象。
3、jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。
4、jQuery 中所有选择器都以美元符号开头:$()。
基本选择器
名称 |
用法 |
描述 |
ID选择器 |
$(“#id”); |
获取指定ID的元素 |
类选择器 |
$(“.class”); |
获取同一类class的元素 |
标签选择器 |
$(“div”); |
获取同一类标签的所有元素 |
并集选择器 |
$(“div,p,li”); |
使用逗号分隔,只要符合条件之一就可。获取所有的div、p、li元素 |
交集选择器(标签指定式选择器) |
$(“div.redClass”); |
注意选择器1和选择器2之间没有空格,class为redClass的div元素,注意区分后代选择器。 |
层级选择器
名称 |
用法 |
描述 |
子代选择器 |
$(“ul>li”); |
使用>号,获取儿子层级的元素,注意,并不会获取孙子层级的元素 |
后代选择器 |
$(“ul li”); |
使用空格,代表后代选择器,获取ul下的所有li元素,包括孙子等 |
过滤选择器
|
用法 |
描述 |
:eq(index) |
$(“li:eq(2)”).css(“color”, ”red”); |
获取到的li元素中,选择索引号为2的元素,索引号index从0开始。 |
:odd |
$(“li:odd”).css(“color”, ”red”); |
获取到的li元素中,选择索引号为奇数的元素 |
:even |
$(“li:even”).css(“color”, ”red”); |
获取到的li元素中,选择索引号为偶数的元素 |
筛选选择器(方法)
|
用法 |
说明 |
children(selector) |
$(“ul”).children(“li”) |
相当于$(“ul>li”),子类选择器 |
find(selector) |
$(“ul”).find(“li”); |
相当于$(“ul li”),后代选择器 |
siblings(selector)
|
$(“#first”).siblings(“li”); |
查找兄弟节点,不包括自己本身。 |
parent() |
$(“#first”).parent(); |
查找父亲 |
eq(index) |
$(“li”).eq(2); |
相当于$(“li:eq(2)”),index从0开始 |
next() |
$(“li”).next() |
找下一个兄弟 |
prev() |
$(“li”).prev() |
找上一次兄弟 |
Index() |
$(“li”).index() |
获取当前的位置(索引) |
not() |
$("p").not(".intro") |
返回不带有类名 "intro" 的所有 <p> 元素 |
jQuery 事件
事件语法:
单击事件:
$("p").click(function(){
})
双击事件:
$("p").dblclick(function(){
})
鼠标进入:
$("p").mouseenter(function(){
})
鼠标离开:
$("p").mouseleave(function(){
})
获取焦点:
$("input").focus(function(){
})
失去焦点:
$("input").blur(function(){
})
jQuery css() 方法
返回CSS属性:
$("p").css("background-color")
设置CSS属性:
$("p").css("background-color","yellow")
设置多个CSS属性
$("p").css({
"backgroound-color":"yellow","color":"red"
})
jQuery css 类
(1)add Class() 向被选元素添加一个或多个类
.blue { color:blue; }
$("button").click(function(){
$("h1,p").addClass("blue");
});
(2)removeClass() 从被选元素删除一个或多个类
$("button").click(function(){ $("h1,h2,p").removeClass("blue"); });
(3) toggleClass() 对被选元素进行添加/删除类的切换操作
$("button").click(function(){ $("h1,h2,p").toggleClass("blue"); });
(4)eq() 方法返回带有被选元素的指定索引号的元素,索引号从 0 开头,所以第一个元素的索引号是 0(不是 1)。
$(selector).eq(index);
(5)index() 方法返回指定元素相对于其他同级元素的 index 位置。
(6)not() 返回指定元素之外的元素。
jQuery 动画
(1)隐藏显示
可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素。
$("#hide").click(function(){
$("p").hide();
});
$("#show").click(function(){
$("p").show();
});
可以使用 toggle() 方法来切换 hide() 和 show() 方法。
$("button").click(function(){ $("p").toggle(); });
(2)淡入淡出
fadeIn() 用于淡入已隐藏的元素, fadeOut() 方法用于淡出可见元素。
$("button").click(function(){
$("#div1").fadeIn();
$("#div2").fadeIn("slow");
$("#div3").fadeOut(3000);
});
fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。
$("button").click(function(){ ("#div2").fadeToggle("fast");});
fadeTo() 方法允许渐变为给定的不透明度(值介于 0 与 1 之间)。
$("button").click(function(){ $("#div1").fadeTo("slow",0.15);});
(3)滑动
slideDown() 方法用于向下滑动元素, slideUp() 方法用于向上滑动元素。
$("#flip").click(function(){ $("#div1").slideDown(); $("#div1").slideUp();});
slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换。
$("#flip").click(function(){ $("#panel").slideToggle(); });
(4)自定义动画
animate() 方法用于创建自定义动画。可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。可选的 callback 参数是动画完成后所执行的函数名称。
$("button").click(function(){
$("div").animate({
left:'250px', opacity:'0.5', height:'150px', width:'150px'
}); });
(5)stop()
jQuery stop() 方法用于停止动画或效果,在它们完成之前,适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。
$("#stop").click(function(){ $("#panel").stop(); });
(6)回调函数:
在当前动画 100% 完成之后执行。
$("button").click(function(){
$("p").hide("slow",function(){
alert("段落现在被隐藏了");
}); });