jQuery

查看jQuery官方文档

前端方法库
插件 库 和 框架的区别
插件:实现某一个单一类功能
库:封装了各种的功能和你需要的工具
框架:自己的完整的生态系统
主要内容是封装了各种dom操作
优点:

  1. 选择器
  2. 链式编程
  3. 隐式迭代

特点:
号称全兼容
2.0 以前的版本
2.0 以后逐步的不再兼容 IE
当你引入一个 jquery.js 或者 jquery.min.js 以后
会向全局暴露两个变量名

  1. jQuery
  2. $

jQuery 从 $()开始

一、jQuery 的选择器

包含两个部分

  1. 选择器
    对元素的获取
    基本选择器
    特殊选择器
  2. 筛选器
    对已经获取到的元素集合进行二次筛选

1.基本选择器

  • 语法:$(选择器)
  • 返回值:满足条件的所有选择器(id 选择器除外)
    放在一个数组里面返回给你
    都是一个集合的形式
    我们管这个集合叫做 jquery元素集合
  • 你的css如何捕获标签,这里就可以怎么填写参数

2.特殊选择器

  • 语法:$(选择器)
    对你已经存在的选择器进行修饰
  • 1、:first
    拿到所有div的第一个
    2、:last
    3、:eq(数字)
    按照索引排列的第几个
    注意:从0开始
    4、:odd
    按照索引排列的奇数个
    5、:even
    按照索引排列的偶数个

3.筛选器

  • jQuery的元素集合进行二次筛选
  • 注意:只有jQuery的元素集合才可以使用,原生DOM对象不能使用
  • 直接进行链式编程就可以了
  • 1、first()
    元素集合里面的第一个
  • 2、last()
    元素集合里面的最后一个
  • 3、eq(索引)
    元素集合里面指定索引的那一个
  • 4、next()
    当前元素的下一个元素
  • 5、nextAll()
    语法
    (1)元素集合.nextAll()
    获取到当前元素后面的所有兄弟元素
    (2)元素集合.nextAll(选择器)
    获取到当前元素后面所有元素中指定选择器的那一个
  • 6、nextUntil()
    语法
    (1)元素集合.nextUntil()
    获取到当前元素后面所有的兄弟元素
    (2)元素集合.nextUntil(选择器)
    获取到当前元素后面所有的兄弟元素,直到选择器元素为止(不包含选择器元素)
  • 7、prev()
    当前元素的上一个元素
  • 8、prevAll()
    语法
    (1)元素集合.prevAll()
    获取到当前元素上面的所有兄弟元素
    (2)元素集合.prevAll(选择器)
    获取到当前元素上面所有元素中指定选择器的那一个
  • 9、prevUntil()
    语法
    (1)元素集合.prevUntil()
    获取到当前元素上面所有的兄弟元素
    (2)元素集合.prevUntil(选择器)
    获取到当前元素上面所有的兄弟元素,直到选择器元素为止(不包含选择器元素)
  • 10、parent()
    获取到当前元素的父元素
  • 11、parents()
    语法
    (1)元素集合.parents()
    拿到结构父级的所有父元素
    (2)元素集合.parents(选择器)
    拿到结构父级的所有父元素中符合选择器的那一个元素
  • 12、children()
    语法
    (1)元素集合.children()
    拿到该元素的所有子元素
    (2)元素集合.children(选择器)
    拿到该元素的所有子元素中符合选择器的那一个元素
  • 13、siblings()
    拿到该元素的所有兄弟元素,自己除外
  • 14、find()
    找到该元素中所有后代元素里面符合选择器条件的元素
  • 15、index()
    获取到的就是该元素在其父元素里面的索引位置

二、jQuery操作文本内容

操作元素内的文本和超文本
注意:属于jQuery的方法,只能jquery元素集合调用,原生DOM不能调用
1.html()
语法:

  1. 元素集合.html()
    获取该元素的超文本内容,以字符串的形式返回
    获取的时候为了保证html结构只能获取第一个的元素的超文本内容
  2. 元素集合.html(‘内容’)
    设置元素集合内元素的超文本内容
    完全覆盖式的写入
    隐式迭代:元素集合内有多少元素,就写入多少元素

2.text()
语法:

  1. 元素集合.text()
    获取该元素的文本内容,以字符串的形式返回
    因为是文本内容,不涉及html 结构,所以拿到的是所有元素的文本内容
    以一个字符串的形式返回
  2. 元素集合.text(‘内容’)
    设置元素集合内元素的文本内容
    完全覆盖式的写入
    隐式迭代:元素集合内有多少元素,就写入多少元素
    val()
    语法:
  3. 元素集合.val()
    获取该元素的value值
  4. 元素集合.val(‘内容’)
    设置元素集合内元素的value值
    完全覆盖式的写入
    隐式迭代:元素集合内有多少元素,就写入多少元素

三、jQuery操作元素类名

1.addClass()
添加元素类名
2.removeClass()
删除元素类名
3.hasClass()
判断有没有类名
4.toggleClass()
切换类名
如果原先有,就是删除
如果原先没有,就是添加

四、jQuery操作元素样式

1.css()

  1. 语法:元素集合.css(‘样式名’)
    获取元素的某一个样式的值,不管是行内还是非行内都能获取到
  2. 语法:元素集合.css('样式名’, ‘样式值’)
    设置元素的行内样式
    隐式迭代:元素集合内有多少元素设置多少元素
    设置的时候,如果你需要设置的单位是px可以不写
  3. 语法:元素集合.css({样式名1:样式值1,样式名2:样式值2,…})
    批量给元素设置行内样式
    隐式迭代::元素集合内有多少元素设置多少元素
    设置的时候,如果你需要设置的单位是px可以不写

五、jQuery基础绑定事件

on()
语法:元素集合.on(事件类型,事件处理函数)
隐式迭代:元素集合内有多少元素,就会给多少元素绑定事件

jQuery书写选项卡

DOM元素如果想用jQuery的方式,使用$()包起来

  1. 给所有的ul里面的li绑定事件
  2. 自己有类名,所有兄弟没有类名
  3. 所有的元素没有类名,指定索引

六、jQuery的事件绑定

1.on()
事件绑定,根据传递不同的参数做不同的事情

  1. on(事件类型,事件处理函数)
    直接绑定事件,有隐式迭代
  2. 元素集合.on(事件类型,选择器,事件处理函数)
    事件委托的绑定
    把选择器元素委托给元素集合里面的元素
    注意:选择器元素要是元素集合内元素的后代元素
  3. 元素集合.on(事件类型,复杂数据类型,事件处理函数)
    给元素集合内的所有元素绑定事件
    这个复杂数据类型是事件触发的时候,传递给事件里面的参数
    在事件对象里面有一个叫做data的成员,就是你传递进来的参数
  4. 元素集合.on(事件类型,选择器,数据,事件处理函数)
    事件委托的形式,带上传递参数
    把选择器所属的事件,委托给了元素集合内的事件
    数据位置,就是在事件触发的时候传递给事件处理函数的参数
  5. 元素集合.on({事件类型1:事件处理函数,事件类型2:事件处理函数,…})
    一次性给元素绑定多种事件
    没法传递参数和事件委托了

2.one()
用来绑定事件的方法
和on()方法的参数和使用形式一模一样
只不过绑定的事件只能执行一次
3.off()
用来解除事件绑定的
语法:

  1. 元素集合.off(事件类型)
    解除元素身上该事件类型的所有事件处理函数
  2. 元素集合.off(事件类型,事件处理函数)
    解除元素身上该事件类型的某一个事件处理函数

4.trigger()
用JS代码的方式来触发事件
语法:元素集合.trigger(事件类型)

七、jQuery的事件函数

  • jQuery给我们提供了一些简洁的绑定事件的方式
  • 把一些常用事件直接封装成了函数
    click()
    mouseover()
  • 这些方法可以直接使用,带有隐式迭代
    快捷绑定事件
    语法:
    1.元素集合.事件类型(事件处理函数)
    2.元素集合.事件类型(传入事件处理函数的参数,事件处理函数)
  • jquery唯一的特殊事件
    hover()
    一个结合了移入移出的事件
    语法:元素集合.hover(移入的事件处理函数,移出的事件处理函数)
    如果你只传递一个参数,那么移入移出都触发

八、jQuery的节点操作

原生 Js的节点操作
创建节点,插入节点,删除节点,替换节点,克隆节点
jQuery的节点操作
创建节点,插入节点,删除节点,替换节点,克隆节点

1.创建节点

$(html结构字符串)

当$()里面传递一个选择器的时候,就是获取元素

当$()里面传递一个html结构字符串的时候,就是创建元素节点

当$()里面传递一个DOM元素节点的时候,就是转换成jQuery元素结合

2.插入节点

内部插入(父子关系的插入)

  1. append()
    语法:父元素.append(子元素)
    把子元素插入到父元素内部,放在末尾的位置
  2. appendTo()
    语法:子元素.appendTo(父元素)
    把子元素插入到父元素内部,放在末尾的位置
  3. prepend()
    语法:父元素.prepend(子元素)
    把子元素插入到父元素内容,放在最前面的位置
  4. prependTo()
    语法:子元素.prependTo(父元素)

外部插入(兄弟关系的插入)

  1. after()
    语法:存在元素.after(插入元素)
    把插入元素排在存在元素的后面,以兄弟关系出现
  2. insertAfter()
    语法:插入元素.insertAfter(存在元素)
    把插入元素排在存在元素的后面,以兄弟关系出现
  3. before()
    语法:存在元素.before(插入元素)
    把插入元素排在存在元素的前面,以兄弟关系出现
  4. insertBefore()
    语法:插入元素.insertBefore(存在元素)
    把插入元素排在存在元素的前面,以兄弟关系出现

3.删除节点

  1. remove()
    语法:元素集合.remove()
    把自己从自己的父元素里面移出
  2. empty()
    语法:元素集合.empty()
    把自己变成空标签,把所有后代节点全部移除

4.替换节点

  1. replaceWith()
    语法:换下节点.replaceWith(换上节点)
  2. replaceAll()
    语法:换上节点.replaceAll(换下节点)

5.克隆节点

clone()
语法:元素集合.clone()
必然携带所有节点过来
第一个参数默认是false,表示是否克隆元素本身的事件,选填true
第二个参数默认是跟随第一个,表示是否克隆元素后代节点的事件,选填
注意:当第一个参数是false的时候,第二个参数没有意义

九、jQuery操作元素属性

  • 几种属性操作
    原生属性,id class src …
    自定义属性,getAttribute() …
    H5自定义属性,dataset data-xxx
  • jQuery有三种操作属性的方法
    attr()和 removeAttr()
    prop()和removeProp()
    data()和removeData()

1.attr()和 removeAttr()

  1. attr()
    语法:元素集合.attr(属性名)
    获取元素的该属性,主要用来获取标签属性,包括一些自定义属性
    语法:元素集合.attr(属性名,属性值)
    设置元素的标签属性,只是把属性设置在标签上,当作一个自定义属性使用
    对于原生属性有些有用,有些没有用
    注意:
    设置的时候,需要两个参数
    设置的不管是什么数据类型,都会变成字符串类型
    有的原生属性好使,有的不好使
  2. removeAttr()
    语法:元素集合.removeAttr(属性名)
    删除元素身上的自定义属性
    id class 等属性也可以删除
    注意:
    多用于删除 attr 方法设置的属性

2.prop()和 removeProp()

  1. prop()
    语法:元素集合.prop(属性名)
    获取元素的原生属性,也可以获取元素的自定义属性
    但是attr方法设置的自定义属性他获取不到
    语法:元素集合.prop(属性名,属性值)
    主要设置元素的原生属性,也可以设置自定义属性
    他设置的自定义属性不会显示在标签上,而是存储在元素身上
    注意:
    设置的自定义属性不会显示在标签上
    你设置的时候是什么数据类型,获取到的时候还是什么数据类型
    attr设置的自定义属性他拿不到
  2. removeProp()
    语法:元素集合.removeProp(属性名)
    删除元素的属性,但是只能删除由prop设置的自定义属性
    原生属性id class …不能删除

3.data()和 removeData()

  1. data()
    语法:元素集合.data(属性名)
    获取使用data()方法存储的数据,获取元素身上data-xxx的属性
    语法:元素集合.data(属性名,属性值)
    设置的时候,只是把数据存储在元素身上的某一个对象空间内
    但是不会出现在标签上,不会有data-xxx的属性出现
    注意:
    可以获取元素标签上data-xxx的属性
    但是不能设置标签上data-xxx的属性
  2. removeData()
    只能删除由data()方法设置的属性
    不能删除元素身上data-xxx的属性

十、获取元素尺寸

获取元素尺寸有三套方法四种使用方式
不管在页面是不是占位,这些方法都是获取元素的尺寸

1.width()和 height()
语法:元素集合.width()或者元素集合.height()
获取的是元素内容位置的尺寸
2.innerwidth()和 innerHeight()
语法:元素集合.innerwidth()或者元素集合.innerHeight()
获取的是元素内容+padding 区域的尺寸
3.outerwidth()和 outerHeight()
语法:元素集合.outerwidth()或者元素集合.outerHeight()
获取的是元素内容+padding+ border 区域的尺寸
4.outerwidth(true)和 outerHeight(true)
语法:元素集合.outerwidth(true)或者元素集合.outerHeight(true)
获取的是元素内容+padding+ border+margin区域的尺寸

十一、操作位置关系

操作元素相对于某一个点的位置关系

  1. offset()
    是一个读写的方法
    读取
    语法:元素集合.offset()
    返回值:一个对象,里面包含一个x信息一个y信息
    相对谁:相对页面左上角的绝对坐标
    注意:读取出来是一个对象,你需要值得时候,要继续。不能继续链式编程
    设置
    语法:元素集合.offset({top:xxx,left:xxx})
    设置的:设置的是相对于页面左上角的绝对位置
    例子:$(‘div’).offset({top:30,left:30})一定会把这个div放在距离页面左上角30 30的位置
    注意:你设置的时候,如果父子元素都要动
    考虑先后顺序
  2. position()
    是一个只读的方法
    读取:
    语法:元素集合.position()
    返回值:一个对象,里面包含一个x信息一个y信息
    就是元素的定位关系
    如果你定位的是 right 和 bottom,那么会自动计算成 left 和top

十二、Jquery基础动画

show()
显示
hide()
隐藏
toggle()
切换,本身显示就隐藏,本身隐藏就显示
上面三个方法操作的display:none和block
三个的语法是一样的
方法名(运动时间,运动曲线,回调函数)
运动时间:多长时间运动结束
运动曲线:什么方式运动
回调函数:运动结束后触发

十三、jQuery 的折叠动画

slideDown()
下拉显示
slideUp()
上拉隐藏
slideToggle()
切换显示和隐藏
三个方法都是一样的参数
方法名(时间,运动曲线,回调函数)

十四、渐显渐隐动画

通过操作元素的opacity 达到效果
1.faseIn()
opacity
0 ~ 1
2.fadeOut()
opacity
1 ~ 0
3.fadeToggle()
切换
以上三个方法的语法是一样的
方法名(时间,运动曲线,回调函数)
4.fadeTo()
运动到指定透明度
语法:fadeTo(时间,指定透明度,运动曲线,回调函数)

十五、综合动画

animate()
语法: animate({},时间,运动曲线,回调函数)
{}:书写你要运动的属性
注意:
颜色相关的属性,运动不了
CSS3的2d和3d动画效果运动不了

十六、停止动画

因为当你给一个元素设置动画以后
如果快速触发,会停不下来,直到你所有的触发都执行完毕为止
jquery 给我们提供两个临时停下动画的方法
stop()
语法:元素集合.stop()
当代码执行到这句的时候,不管运动到什么程度,立刻停下来
运动到什么位置就停止在什么位置
finish()
语法:元素集合.finish()
当代码执行到这句的时候,不管运动到什么程度,直接去到运动结束位置
直接完成本次动画

十七、发送ajax请求

  • jQuery发送一个get请求
    jQuery提供了一个函数,叫做$.get()
    引入jQuery以后,会提供两个变量
    1、 $
    2、 jQuery
    这两个都是函数数据类型
    把这个函数当作一个对象,向他的身上添加了一些成员
    我们管这种方法叫做jQuery的全局方法
    不需要依赖选择器,不需要元素集合
    直接调用就行

  • 专门用来发送get请求
    语法:$.get(地址,传递给后端的数据,回调函数,期望返回的数据类型)
    地址:请求地址(你可以自主拼接参数,不推荐)
    数据:给后端的数据,可以写’key=value&key=value’,可以写{…}
    回调:请求成功的回调,请求成功以后会触发
    期望返回的数据类型:是不是执行解析响应体的操作
    'string’不解析
    'json’会执行一步JSON.parse()

  • jQuery 发送一个 post 请求
    jQuery,提供了一个全局方法叫做. post()
    专门用来发送 post 请求

  • 发送 post 请求
    语法:$.post(地址,携带给后端的数据,回调函数,期望后端返回的数据类型)
    四个参数的意义和$.get()一模一样

  • jQuery发送ajax请求的综合方法
    可以由你来配置,决定发送get还是post请求
    叫做$.ajax()
    我们所有的请求都可以使用它来发送

  • 使用
    语法:$.ajax(options)
    options:就是本次请求的配置信息,是一个对象数据类型

  • 配置信息里面可以填写的内容
    1.url:请求地址,必填
    2.async:是否异步,默认是异步(true),可以选填非异步(false)
    3.type / method:表示请求方式,默认是GET,可以选填其他请求方式
    大小写无所谓
    4.data:传递给后端的参数
    可以是查询字符串的形式
    可以是对象的形式
    5.dataType:期望后端返回的数据类型,是否进行JSON.parse()解析
    6.success(res):接收一个函数数据类型,表示成功的回调
    res就是响应体,会根据dataType填写的内容来解析
    7.error(xhr,info,err):接收一个函数数据类型,表示失败的回调
    不光是请求失败会走失败的回调
    当你解析失败的时候,会走失败的回调
    xhr 是jQuery封装的ajax对象
    info 是本次失败的错误信息
    err 错误的详细信息,但是不是很详细(有的错误方式详细,有的错误方式不详细)
    8.timeout:设置一个超时时间
    从发送请求开始计时,到达超时时间还没有接收到响应
    会直接取消本次请求,都到失败的回调函数
    9.cache:是否缓存
    对于ajax请求默认缓存的(true),可以选填(false)
    如果你选择缓存,那么不会有最后一个时间戳参数
    如果你选择不缓存,jQuery会在本次请求的末尾添加一个时间戳作为参数
    对于jsonp请求默认不缓存(false),可以选填(true)
    当你发送jsonp请求的时候,会默认带有一个时间戳参数
    缓存:
    GET请求会自主缓存,为什么会缓存?
    因为你两次发送同一个请求,浏览器就有可能会缓存下来
    怎么证明两次是一个请求
    请求地址一模一样,就表示是同一个请求
    不想你缓存
    让每一次的请求地址不一样
    每次请求的时候,再最后携带一个没有用的参数,值设置成时间戳
    每次请求的地址就不一样
    10.context:上下文
    指定回调函数的this指向
    jQuery默认回调函数的this指向jQuery封装的xhr对象
    context传递的是谁,回调函数的this就指向谁

十八、juquery发送ajax 的promise

jQuery 发送 ajax 请求
jQuery 对于ajax 的封装
除了回调函数的形式接收结果
还封装了promise的形式接收结果
一个$.ajax()方法
你可以选择书写回调函数的形式
也可以选择promise的形式
注意:选择一种方式使用,不要都使用

十九、ajax发送跨域请求

非同源地址
解决方案:
1.jsonp
前端利用script 标签和src 属性绕开同源策略
和 ajax 没有关系,实际上不是在发送 ajax 请求
实际上是在请求一个js文件
2.代理
由一个同源的代理服务端转发请求
对于前端来说,依旧是正常发送请求
只不过把地址书写成代理地址
依旧是直接使用$.ajax()方法来发送
只不过 url 位置书写代理标识符
3. cors
服务端允许指定客户端发送请求
和前端没有关系
前端正常发送请求
使用 $.ajax()方法来发送

jQuery 发送 jsonp 请求
使用一个叫做$.ajax()的方法
因为jQuery 封装 ajax 函数的时候做了一个判断
根据你 dataType 传递的值来判断
if (dataType ===‘jsonp’){
//走一套动态创建 script 标签
//动态添加src属性
//动态插入到body
//动态的删除 script
} else
//按照ajax的一套流程封装
}
只要把dataType书写成’jsonp’
就会发送jsonp请求
注意:发送jsonp请求会默认不缓存(自动添加一个_=时间戳)
jQuery发送jsonp请求专用的配置项
1.jsonp:表示携带函数名的那个key
2.jsonpCallback:表示你自主定义的函数名
默认值是jQuery自己组装的jQuery-版本号随机数_时间戳

二十、ajax钩子函数

jQuery 的全局钩子函数
也叫做全局 ajax函数
出现在 ajax的不同阶段
再一个ajax的整个周期中,会在不同的位置执行的函数
我们管这种在一个事情的生命周期上各个不同时期触发的函数叫做钩子函数
不是自主触发的函数,而是钩挂再其他的事情上
由其他的事情发生过程中来触发我
1.ajaxstart()
表在同一个作用域下多个ajax请求的时候
第一个ajax 请求之前
2.ajaxSend()
表示在每一个请求发送之前触发
只要有一个请求要执行send方法了,就会先出发钩子函数
3.ajaxSuccess()
表示在每一个请求成功之后触发
只要有一个请求成功了,就会触发一次
4.ajaxError()
表示在每一个请求失败之后触发
只要有一个请求失败了,就会触发一次
根据jQuery判定的失败
5.ajaxComplete
表示在每一个请求完成之后触发
只要有一个请求完成了,不管成功还是失败,只要完成了就会触发
6.ajaxStop()
表示在同一个作用域下最后一个ajax结束以后触发
当你有多个请求的时候,会在最后一个结束以后触发这个钩子

在发送请求之前,把钩子函数挂载

二十一、jquery多库并存

jquery自己是一个库
还有很多其他的库
当你出现第二个库一起使用的时候
如果两个库都向外暴露了 $ 或者jquery的变量名
就会出现变量名冲突
两个库只有一个能正常使用
谁写在后面就是谁
jquery给我们提供了一个多库并存的机制

使用
1.要求你把jQuery引入在最后面
先暂时把变量名的所有权交给jQuery
2.执行一个方法,jQuery把变量名的所有权交出去
表示我不再占用这个名字了
2-1. noConflict()
交出$的控制权
2-2. noConflict(true)
交出 $和jQuery 的控制权
2-3 const变量= $ .noConflict(true)
你的变量是什么
自己定义一个控制权

二十二、深浅拷贝

三个词(描述对象和对象之间的关系)

  1. 赋值
    把一个对象的地址赋值给另一个变量
    两个变量操作同一个空间
  2. 浅拷贝
    把对象里面的每一个成员,复制一份一模一样的内容
    放到另一个对象里面
    当你有某一个对象成员是复杂数据类型的时候
    这个成员依旧是一样的
    只是操作对象里面一层可以没有关系,如果再深层次就会出现问题
  3. 深拷贝
    对象空间里面不管多少层,都是相对独立,没有关系
    for in 遍历赋值
    只要碰到某一个是复杂数据类型对象或者数组
    再次进入到这个数据类型里面进行二次遍历
    方案1:利用递归思想实现深拷贝
    把第一遍遍历放在一个函数里面
    如果遍历的时候,发现有一个数据是数组或者对象
    从新调用函数
    方案2:json
    不管多复杂的数据类型,转换成json以后就是字符串
    字符串的赋值时基本数据类型
    赋值以后再转换回来

二十三、jquery里面的深浅拷贝

jQuery 里面提供了一个进行深浅拷贝的方法
$ .extend()
语法:

  1. $.extend(对象1,对象2,对象3,…)
    把从第二个参数开始的每一个对象的数据拷贝到第一个对象中
    是一个浅拷贝
  2. $.extend(true,对象1,对象2,对象3,…)
    把从第三个参数开始的每一个对象的数据拷贝到第二个对象中
    是一个深拷贝

注意:
如果你要进行拷贝,不管是深拷贝还是浅拷贝
至少传递两个参数
传递一个参数的时候,不是进行拷贝

二十四、jquery插件扩展机制

jQuery在设计的时候,封装了好多的方法
但是怕你不够用,提供了插件扩展机制
你可以向jQuery里面扩展一些内容
插件扩展机制提供了两个方法

  1. 扩展到jQuery本身,作为全局方法调用
    语法:
    $.extend({你扩展的方法})
    使用:
    $ . extend({a:function(){}})
    相当于扩展了一个a方法在jQuery本身
    如果你想调用,就书写$.a()
  2. 扩展到jQuery的原型上,就是给jQuery的元素集合使用
    语法:
    $.fn.extend({你扩展的方法})
    使用:
    $ . fn.extend({a:function(){}})
    相当于扩展了一个a方法给jQuery的元素集合
    如果你想调用,就书写$(选择器).a()
    第二种书写的语法
    $ .extend($.fn,{你扩展的方法})

二十五、表单验证插件

jquery-validate:主要是用来做表单验证的插件

二十六、jquery入口函数

jQuery 的入口函数
其实就是 window.onload 这个函数
语法:$().ready(function(){})
入口函数有一个简写的语法
$(function(){})
区别
window.onload:所有资源加载完毕后执行
$().ready():DOM结构加载完毕就执行

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值