JavaScript库的概念
JavaScript开发的过程中,处理浏览器的兼容很复杂而且很耗时,于是一些封装了这些操作的库应运而生。这些库还会把一些常用的代码进行封装。
把一些常用到的方法写到一个单独的js文件,使用的时候直接去引用这js文件就可以了。(common.js)
常见的JavaScript 库 - jQuery、Prototype、MooTools。其中jQuery是最常用的一个
jQuery其实就是一个js文件,里面封装了一大堆的方法方便我们的开发,其实就是一个加强版的common.js,因此我们学习jQuery,其实就是学习jQuery这个js文件中封装的一大堆方法。
jQuery的优点好处
jQuery设计的宗旨是'Write Less,Do More',即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的操作,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器。极大地简化了JavaScript 编程。
jQuery的版本
jQuery版本有很多,分为1.x 2.x 3.x
1.x版本:能够兼容IE678浏览器
2.x版本:不兼容IE678浏览器
1.x和2.x版本jquery都不再更新版本了,现在只更新3.x版本。
3.x版本:不兼容IE678,更加的精简(在国内不流行,因为国内使用jQuery的主要目的就是兼容IE678)
国内多数网站还在使用1.x的版本
1 JQ选择器概述
jQuery对象和DOM对象的区别
DOM对象
用原生JavaScript获取的DOM对象
通过document.getElementById() 获取到的元素(DOM对象)
通过document.getElementsByTagName()获取到的伪数组(集合),集合中的每一个对象是DOM对象
jQuery对象
jQuery对象用$()的方式获取的对象
jQuery对象又可以叫做包装集(包装的DOM对象的集合)
注意:
虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.
jQuery对象和DOM对象的相互转换
jQuery对象转换成
DOM对象(两种方法
):
jQuery对象
.get(索引值
)
jQuery对象
[索引值
]
jQuery对象是包装集(集合
),从集合中取数据可以使用索引的方式
DOM对象转换成jQuery对象:
$(DOM对象
) 只有这一种方法
案例:网页开关灯
var ipts
= document
.getElementsByTagName('input');
$(ipts
[0]).click(function () {
$('body')[0].style
.background
= '#fff';
});
$(ipts
[1]).click(function () {
$('body').get(0).style
.background
= '#000';
});
2 详细的jquery选择器
1 基本选择器
名称用法描述
通配符选择器$(’*’)获取所有标签ID选择器$(’#id’)获取指定ID的元素类选择器$(’.class’)获取同一类class的所有元素标签选择器$(‘div’)获取同一类标签的所有元素并集选择器$(‘div,p,li’)使用逗号分隔,并集选择(群组选择器)交集选择器$(‘div.cls’)获取class为cls的div元素,交集选择器
总结:跟css的选择器用法一模一样。
2 层次选择器
名称用法描述
子代选择器$(‘ul > li’);使用>号,获取儿子层级的元素,注意,并不会获取孙子层级的元素后代选择器$(‘ul li’);使用空格,代表后代选择器,获取ul下的所有li元素,包括孙子等相邻选择器$(“prev + next”)选取紧接在prev元素后的next元素兄弟选择器$(“prev ~ siblings”)选取prev元素之后的所有siblings元素(不包含本身)
3 筛选、过滤选择器
这类选择器都带冒号:
名称用法描述
:eq(index)$(‘li:eq(2)’)获取到的li元素中,选择索引号为2的元素,索引号index从0开始。:odd$(‘li:odd’)获取到的li元素中,选择索引号为奇数的元素:even$(‘li:even’)获取到的li元素中,选择索引号为偶数的元素
4 表单选择器
用法描述
$(’:text’)匹配文本框$(’:checkbox’)匹配复选框$(’:button’)匹配按钮
用法描述
$(’:checked’)匹配选中的元素