jQuery
jQuery是一个js库,免费开源易用,提供了我们开发中常用到的操作DOM的API,解决了我们使用js操作DOM常遇到的一些问题,强大的选择器,简化我们的操作
jQuery的特点:
a. 轻量级b. 富应用c. DOM操作、事件处理、运动动画、AJAXd. 跨浏览器(不再考虑浏览器兼容)e. 链式调用f. 隐式迭代g. 丰富的插件库 .........
jQuery基本使用
官网下载: 主版本号3是不兼容ie9之前的浏览器主版本号1是兼容所有浏览器
引入jQuery
路径引入引入在线资源复制代码
入口函数
$(document).ready(function(){ //类似于原生js的window.onload});复制代码
简写
$(function(){ });复制代码
和window.onload的区别
区别一:书写个数不同
Js入口函数只能出现一次,出现多次会存在事件覆盖的问题。jQuery的入口函数,可以出现任意多次,并不会存在事件覆盖问题。复制代码
区别二:执行时机不同
Js入口函数是在所有的文件资源加载完成后,才执行。这些文件资源包括:页面文档、外部的js文件、外部的css文件、图片等。jQuery的入口函数,是在文档加载完成后,就执行。文档加载完成指的是:DOM树加载完成后,就可以操作DOM了,不用等到所有的外部资源都加载完成。复制代码
DOM对象和jQuery对象
jQuery对象:
jQuery选择器拿到DOM对象后又对其做了封装,让其具有了jQuery方法的jQuery对象,说白了,就是把DOM对象重新包装了一下。
jQuery对象转换为DOM对象
第一种方式
var btn1 = $btn[0]; 复制代码
// 此时就把jQuery对象$btn转换成了DOM对象btn1 (推荐使用此方式)第二种方式
var btn2 = $btn.get(0);// 此时就把jQuery对象$btn转换成了DOM对象btn2复制代码
DOM对象转换为jQuery
使用$(domObject)包裹就可以包装成一个jQuery对象
jQuery选择器
jQuery选择器是jQuery强大的体现,它提供了一组方法,让我们更加方便的获取到页面中的元素。语法和css的选择符保持一致。
基本选择器
"#"
Id选择器
--示例$(“#btnShow”).css(“color”, “red”);选择id为btnShow的一个元素(返回值为jQuery对象)
"."
类选择器
--示例$(“.liItem”).css(“color”, “red”);选择含有类liItem的所有元素
"element"
标签选择器
--示例$(“li”).css(“color”, “red”);选择标签名为li的所有元素
"空格"
层级选择器(后代选择器)
--示例$(“#j_wrap li”).css(“color”, “red”);选择id为j_wrap的元素的所有后代元素li
">"
子代选择器
--示例$(“#j_wrap > ul > li”).css(“color”, “red”);选择id为j_wrap的元素的所有子元素ul的所有子元素li
基本过滤选择器
":eq(index)"
选择匹配到的元素中索引号为index的一个元素,index从0开始
--示例$(“li:eq(2)”).css(“color”, ”red”);选择li元素中索引号为2的一个元素
":odd"
选择匹配到的元素中索引号为奇数的所有元素,index从0开始
--示例$(“li:odd”).css(“color”, “red”);选择li元素中索引号为奇数的所有元素
":even"
选择匹配到的元素中索引号为偶数的所有元素,index从0开始
--示例$(“li:odd”).css(“color”, “red”);选择li元素中索引号为偶数的所有元素
筛选(方法)
find(selector)
查找指定元素的所有后代元素(子子孙孙)
--示例$(“#j_wrap”).find(“li”).css(“color”, “red”);选择id为j_wrap的所有后代元素li
children()
查找指定元素的直接子元素(亲儿子元素)
--示例$(“#j_wrap”).children(“ul”).css(“color”, “red”);选择id为j_wrap的所有子代元素ul
siblings()
查找所有兄弟元素(不包括自己)
--示例$(“#j_liItem”).siblings().css(“color”, “red”);选择id为j_liItem的所有兄弟元素
parent()
查找父元素(亲的)
--示例$(“#j_liItem”).parent(“ul”).css(“color”, “red”);选择id为j_liItem的父元素
eq(index)
查找指定元素的第index个元素,index是索引号,从0开始
--示例$(“li”).eq(2).css(“color”, “red”);选择所有li元素中的第二个
优化jQuery的代码性能
01 jQuery中性能最快的选择器是ID选择器 ($('#someid')). 这是因为它直接映射为JavaScript的getElementById()方法。 选择单个元素
02 类选择器前面限定标签名
03 缓存jQuery对象,jQuery有隐式迭代机制,保存为jQuery对象后在操作可以减少重复选择
04 利用事件委派处理事件
05 减少直接操作添加多个DOM元素,使用字符串拼接,添加给父元素效率会更高。