jQuery的详细解析以及用法

jQuery

jQuery是一个js库,免费开源易用,提供了我们开发中常用到的操作DOM的API,解决了我们使用js操作DOM常遇到的一些问题,强大的选择器,简化我们的操作

jQuery的特点:

a. 轻量级b. 富应用c. DOM操作、事件处理、运动动画、AJAXd. 跨浏览器(不再考虑浏览器兼容)e. 链式调用f. 隐式迭代g. 丰富的插件库 .........

jQuery基本使用

官网下载: https://code.jquery.com/主版本号3是不兼容ie9之前的浏览器主版本号1是兼容所有浏览器

引入jQuery

路径引入
<script src='文件路径'></script>
引入在线资源
<script src = "https://code.jquery.com/jquery-1.12.4.js"></script>

入口函数

$(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元素,使用字符串拼接,添加给父元素效率会更高。

来源:千锋HTML5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值