jQuery
1.了解jq
- jQuery 是一个快速、简洁的 JavaScript 库,其设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。
- j 就是 JavaScript; Query 查询; 意思就是查询js,把js中的DOM操作做了封装,我们可以快速的查询使用里面的功能。
- jQuery 封装了 JavaScript 常用的功能代码,优化了 DOM 操作、事件处理、动画设计和 Ajax 交互。
- 学习jQuery本质: 就是学习调用这些函数(方法)。
- jQuery 出现的目的是加快前端人员的开发速度,我们可以非常方便的调用和使用它,从而提高开发效率。
2.jq的优点
- 轻量级。核心文件才几十kb,不会影响页面加载速度。
- 跨浏览器兼容,基本兼容了现在主流的浏览器。
- 链式编程、隐式迭代。
- 对事件、样式、动画支持,大大简化了DOM操作。
- 支持插件扩展开发。有着丰富的第三方的插件,例如:树形菜单、日期控件、轮播图等。
- 免费、开源。
3.jq中的顶级对象$
1.$是jq的别称,在代码中可以使用jQuery
代替;
2.$是jq的顶级对象,相当于原生js中的window,把元素利用是$包装成jq对象,就可以调用jq的方法;
3.只有jq对象才能使用jq方法,DOM对象则使用原生js方法;
4.jq对象和DOM对象
1.原生js获取的对象就是DOM对象;
2.jq对象本质是利用$对DOM对象包装后产生的对象是以伪数组形式存储;
5.jq对象和DOM对象转换
DOM对象与jq对象之间可以相互转换,因为原生js比jq更大,原生的一些属性和方法jq里边没有封装,想要使用这些方法和属性需要把jq对象转换为DOM对象才可以使用;
//1.DOM对象转换成jq对象
var one = document.getElementById('one');//获取DOM对象
var jQueryObject = $(one);//把DOM对象转换为jQuery对象
//2.jQuery对象转换为DOM对象有两种方法
//第一个 jQuery对象[索引值]
var domObject1 = $('div')[0];
//第二个 jQuery对象.get(索引值)
var domObject2 = $('div').get(0);
6.jq的入口函数
- 等着 DOM 结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery 帮我们完成了封装。
- 相当于原生 js 中的 DOMContentLoaded。
- 不同于原生 js 中的 load 事件是等页面文档、外部的 js 文件、css文件、图片加载完毕才执行内部代码。
//1.第一种:简单好用
$(function(){
//此处是页面DOM加载完的入口
})
//2.第二种:复杂
$(document).ready(function(){
//此处是页面DOM加载完的入口
})
7.jq选择器
7.1基础选择器
$('选择器'); 引号里边直接写css选择器即可
//1.ID选择器,获取指定ID元素
$("#id");
//2.全选选择器,匹配所有元素
$("*");
//3.类选择器,获取同一类class的元素
$(".class");
//4.标签选择器,获取同一类标签的所有元素
$("div");
//5.并集选择器,获取多个元素
$("div,p,a,span");
//6.交集选择器,交集元素
$("li.current");
7.2层级选择器
//1.子代选择器,使用>号,获取亲儿子层级的元素,注意是亲儿子
$("ul>li");
//2,后代选择器,使用空格,代表后代选择器,获取ul下所有li元素
$("ul li");
7.3筛选选择器
//1. 获取第一个li元素 :first
$("li:first");
//2. 获取最后一个元素 :last
$("li:last");
//3. 获取到li元素中,选择索引号为0的元素,索引号从0开始 :eq(index)
$("li:eq(0)");
//4. 获取到li元素中,选择索引号为奇数的元素 :odd
$("li:odd");
//5. 获取到的li元素中,选择索引号为偶数的元素 :even
$("li:even");