2、JQuery

jQuery 是一个 JavaScript 库。

jQuery 极大地简化了 JavaScript 编程。

JQuery的版本说明

1.x:兼容ie678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日)

2.x:不兼容ie678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4 (2016年5月20日)

3.x:不兼容ie678,只支持最新的浏览器。除非特殊要求,一般不会使用3.x版本的,很多老的jQuery插件不支持这个版本

使用方法

语法

$(selector).action();

工厂函数$():将DOM对象转化为JQuery对象

选择器selector:获取需要操作的DOM元素

方法action():JQuery中提供的方法,包括绑定事件处理的方法

入口函数

//$(document).ready(function(){});
$(function() {
  ......
})

js的入门函数可以写多个,但是后者会覆盖前者;jQuery可以写多个,而且不会被覆盖

样式设置

div.css("border", "1px solid red");
div.css("属性名", "属性值");
div.css({"key0":"value0","key1":"value1",...})

事件处理

对象.click(function() {
  ......
})

bind绑定

$(selector).bind("事件名",处理函数);
//两个事件一个处理
$(selector).bind("事件名1 事件名1",处理函数);
//多个事件的绑定
$(selector).bind({
    事件名1:处理函数;
    事件名2:处理函数;
    事件名3:处理函数;
});

对象转换

js对象转JQuery对象

var JQuery对象 = $(js对象);

JQuery对象转js对象

//方式一
var js对象 = JQuery对象数组[索引];
//方式二
var js对象 = JQuery对象数组.get(索引);

选择器

基本选择器

层级选择器

属性选择器

$("标签名[属性名]")$("标签名[属性名='属性值']")

基本过滤选择器

注意:even和odd匹配的索引以0开始,所以实际展示出来的分别是第奇数和第偶数个

可见性过滤选择器

获取该选择器中可见元素对象:$("选择器:visible")

获取该选择器中隐藏元素对象:$("选择器:hidden")

表单过滤选择器

说明: clipboard.png

内容过滤选择器

说明: clipboard.png

DOM操作

文本

方法无参的情况下则返回该属性值

$("选择器").val("value属性值");
$("选择器").html("HTML属性值");
$("选择器").text("TEXT属性值");

属性

通用属性:

var 获取属性值 = $("选择器").attr("属性名");
//设置属性值
$("选择器").attr("属性名","属性值")
$("选择器").attr({"属性名":"属性值","属性名":"属性值",...});

注意:prop只可以操作固有属性(内置属性);attr可以操作自定义属性,也可以操作固有属性,但某些固有属性无法读取,例如checked属性

class属性:

each()

为每个元素执行函数

//逐个获取元素对象,获取到的是js对象
$("选择器").each(function(index,element){
    针对元素对象element进行操作;
});

find()

//在所有的p元素后代中,查找span元素
var spans = $("p").find("span");

eq()

//在所有的p元素中,选择第几个元素,返回值是一个jquery对象
var p = $("p").eq(索引值);
方法 描述
add() 把元素添加到匹配元素的集合中
addBack() 把之前的元素集添加到当前集合中
children() 返回被选元素的所有直接子元素
closest() 返回被选元素的第一个祖先元素
contents() 返回被选元素的所有直接子元素(包含文本和注释节点)
each() 为每个匹配元素执行函数
end() 结束当前链中最近的一次筛选操作,并把匹配元素集合返回到前一次的状态
eq() 返回带有被选元素的指定索引号的元素
filter() 把匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素
find() 返回被选元素的后代元素
first() 返回被选元素的第一个元素
has() 返回拥有一个或多个元素在其内的所有元素
is() 根据选择器/元素/jQuery 对象检查匹配元素集合,如果存在至少一个匹配元素,则返回 true
last() 返回被选元素的最后一个元素
map() 把当前匹配集合中的每个元素传递给函数,产生包含返回值的新 jQuery 对象
next() 返回被选元素的后一个同级元素
nextAll() 返回被选元素之后的所有同级元素
nextUntil() 返回介于两个给定参数之间的每个元素之后的所有同级元素
not() 从匹配元素集合中移除元素
offsetParent() 返回第一个定位的父元素
parent() 返回被选元素的直接父元素
parents() 返回被选元素的所有祖先元素
parentsUntil() 返回介于两个给定参数之间的所有祖先元素
prev() 返回被选元素的前一个同级元素
prevAll() 返回被选元素之前的所有同级元素
prevUntil() 返回介于两个给定参数之间的每个元素之前的所有同级元素
siblings() 返回被选元素的所有同级元素
slice() 把匹配元素集合缩减为指定范围的子集

动画

//速度可选参数:fast、slow、毫秒数
//显示、隐藏
$(selector).show(显示的速度,显示完成后完成的函数);//显示
$(selector).hide(隐藏的速度,隐藏完成后完成的函数);//隐藏
//飞入、飞出
$(selector).fadeIn(显示的速度,显示完成后完成的函数);//飞入
$(selector).fadeOut(隐藏的速度,隐藏完成后完成的函数);//飞出
//滑动
$(selector).slideDown(滑动的速度,滑动完成后完成的函数);//向下滑动
$(selector).slideUp(滑动的速度,滑动完成后完成的函数);//向上滑动

自定义动画

$(selector).animate({params},speed,callback);
/*
必需的 params 参数定义形成动画的 CSS 属性。key:value
可选的 speed 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是动画完成后所执行的函数名称。
*/