jQuery

1.jQuery简介

Dom元素不能使用jQuery的方法
在这里插入图片描述
jQuery在2.0版本后不再兼容ie浏览器

选择器的功能很强大,且选择器支持链式编程

2.jQuery的选择器

在这里插入图片描述
选择器分为两个部分,一个是选择器,一个是筛选器

选择器

在这里插入图片描述

  • 基本选择器
    在这里插入图片描述
    按照css的方式来选择元素
	<div id='box'>
	</div>
	<div class='one'></div>
    <div></div>
    <div></div>
    <div></div>
    <script>
        console.log($('div'))
        console.log($('#box'))
    </script>

在这里插入图片描述
在这里插入图片描述

  • 特殊选择器
    在这里插入图片描述
    <script>
        console.log($())
        console.log($('div:eq(0)'))
        console.log($('div:eq(1)'))
    </script>

在这里插入图片描述
可以在https://jquery.cuishifeng.cn/index.html这里找到一些其他的特殊选择器的使用方法

筛选器

在这里插入图片描述
在这里插入图片描述

可以配合选择器进行链式编程,例如使用选择器给所有的元素一个css的样式,再利用筛选器进行另一次样式的赋予。

与选择器的使用方法类似只不过又加上了一层函数。
在这里插入图片描述

在这里插入图片描述

        console.log($('#one').next())

在这里插入图片描述
在这里插入图片描述

        console.log($('#one').nextAll())
        console.log($('#one').nextAll('.box'))

在这里插入图片描述
在这里插入图片描述
nextUntil()是获取集合后所有元素,与nextAll一样,而nextUntil(选择器)则是获取集合后所有元素直到选择器为止(不包括选择器元素)。

        console.log($('#one').nextUntil())
        console.log($('#one').nextUntil('.box'))

在这里插入图片描述
prev()与next同理,只不过改成了元素集合的上一个元素
在这里插入图片描述
parent()与next同理,只不过改成了元素集合的父元素
在这里插入图片描述
parent(选择器)
例如:

        console.log($('#one').parents('body'))

在这里插入图片描述
chlidren()同理
在这里插入图片描述
只要符合选择器条件,可以拿到符合条件的所有元素
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
获取的是索引值,在其父元素里的

	    <ul>
            <li class="a">1</li>
            <li id="one">2</li>
            <span>0000</span>
            <li class="box">3</li>
            <li>4</li>
        </ul>
        <ul>
            <li class="a"></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
        console.log($('.a').first().index())
        console.log($('.a').last().index())

在这里插入图片描述

3.jQuery操作文本

在这里插入图片描述
在这里插入图片描述
在获取时只能拿一个超文本内容,即获取第一个

语法的具体写法
在这里插入图片描述
设置时是全覆盖,与.Classname类似

在这里插入图片描述
与html()类似,但是,获取的是文本可以获取到标签内的所有文本
且设置文本时也会把所有的都打印上去

    <script>
        $('div').text('<span>one</span>')
    </script>

在这里插入图片描述
在这里插入图片描述
也有隐式迭代
在这里插入图片描述
获取时有多个值也是只能获取一个值

    <input type="text" value="111">
    <input type="text" value="222">
    <input type="text" value="333">
    <script>
        console.log($('input').val())
    </script>

在这里插入图片描述

4.jQuery操作元素类名(class)

在这里插入图片描述
与js中的类似
hasClass()的返回值只有false和true

  • 语法
    在这里插入图片描述

5.jQuery操作元素样式(css)

只有这一个语句,但是有很多语法
在这里插入图片描述
所有的css属性都可以拿到
这里的width指css属性中的一种,也可以是height等
语法
在这里插入图片描述
用.css()设置时,元素集合内有多少元素就会设置多少元素
在这里插入图片描述
语法
在这里插入图片描述
与上同理,只不过是批量设置样式
在这里插入图片描述
在这里插入图片描述

6.jQuery的基础绑定事件

在这里插入图片描述
语法
在这里插入图片描述
this获取的是dom元素,不能使用jQuery的方法
在这里插入图片描述
第一种不能用,因为他是dom元素
第二种用 $()抱起来的可以用

  • 选项卡的jQuery代码
    在这里插入图片描述

jQuery的事件绑定

  • on()方法
    在这里插入图片描述

在这里插入图片描述
语法
在这里插入图片描述
只有点击li才有效果

在原生js里也能使用,但是点击后会出现整个ul
在这里插入图片描述

在这里插入图片描述
这里的复杂数据类型要用到{}来表示,这里的e就是函数的形参,利用这一语法,就可以将你想要的参数传递进来
在这里插入图片描述
在这里插入图片描述
语法
在这里插入图片描述
看data数据,在中间偏下
在这里插入图片描述
在这里插入图片描述

语法
在这里插入图片描述
这种形式没办法进行传参的操作

  • one()方法
    与on()的使用一样,但是只能执行一次
    在这里插入图片描述
    不用事件委托时,所有的后代元素都可以执行一次点击事件
    在这里插入图片描述
    在这里插入图片描述
    上图中的所有li都有一次点击函数
    而使用事件委托时,后代元素只有一次点击事件
    在这里插入图片描述
    绑定完成后,是ul的click事件只能触发一次
    在这里插入图片描述
    其他的使用方法与on一样,只不过把on换成one

  • off()
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    这两种事件的绑定都可以,因为他是链式编程
    在这里插入图片描述
    在这里插入图片描述

  • trigger()
    在这里插入图片描述
    用js代码来实现事件,下面的代码浏览器打开时就执行
    在这里插入图片描述

jQuery的事件函数

在这里插入图片描述
语法
在这里插入图片描述

  • jQuery唯一的特殊事件
    hover()
    在这里插入图片描述
    语法
    在这里插入图片描述

7.jQuery的节点操作

在这里插入图片描述

  • 创建节点
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    原有的文本被替换

  • 插入节点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里的p不是标签,而是一个已经定义的节点
在这里插入图片描述
与appendTo()效果一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同理
当执行多次插入同一节点的操作时,以最后一次为准
在这里插入图片描述

  • 外部插入
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 删除节点
    (元素集合)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 替换节点
    在这里插入图片描述
    功能一样,主语不一样
    在这里插入图片描述
  • 克隆节点
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

8.jQuery操作元素属性

在这里插入图片描述

  • attr()和removeattr()
    在这里插入图片描述
    在button上就不能用
    在这里插入图片描述
    不推荐把id 和class删除
    在这里插入图片描述

  • prop和removeprop
    在这里插入图片描述
    在这里插入图片描述

即用prop设置的元素不会在标签上显示,而是作为对象中的属性存储在标签内
在这里插入图片描述

图中的aa和abc在标签上是没有的
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

同理
在这里插入图片描述

9.jQuery获取元素尺寸

在这里插入图片描述

在这里插入图片描述
语法的写法
在这里插入图片描述

获取元素尺寸时不受disabled的影响
在这里插入图片描述

10.jQuery操作元素位置关系

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

与js的类似,注意,是页面而不是父元素

需要x值就是

console.log($('div').offest().x)

需要y值就是

console.log($('div').offest().y)

在这里插入图片描述
绝对设置,优先级高
在这里插入图片描述
若子元素先动,父元素可能会带着子元素动
例如
在这里插入图片描述
橙色是子元素,蓝色是父元素
在这里插入图片描述
获取的就是元素的定位的值

在这里插入图片描述

11.jQuery的基础动画

jQuery的动画都可以通过经典js来实现
在这里插入图片描述

操作的是display属性的none和block值
在这里插入图片描述
语法
在这里插入图片描述
时间与js一样,也是毫秒,运动方式也是一样的值,除了最后的函数,当动画结束后触发

12.jQuery的折叠动画

在这里插入图片描述
在这里插入图片描述
与上面的基础动画一样
在这里插入图片描述
利用绝对定位设置buttom:0可以实现从下往上的动画

13.jQuery的渐隐渐显动画

在这里插入图片描述
请添加图片描述
请添加图片描述

14.jQuery的综合动画

在这里插入图片描述
在这里插入图片描述

与css的动画(animation)属性类似

语法实例
在这里插入图片描述

15.jQuery的停止动画

这是一段只执行一次的代码。
在这里插入图片描述
但是jQuery提供了两个方法来停止
在这里插入图片描述

在这里插入图片描述

16.animatecss动画插件

大部分动画效果都可以在https://animate.style/实现
需要先下载一个库

17.jQuery发送ajax请求

jQuery发送一个get请求

在这里插入图片描述
在这里插入图片描述
这种是原型上的方法,需要依赖元素集合去用
而$.get()就把 $看作一个对象,进而向对象内添加get(){}的函数
在这里插入图片描述
数据可以写成’key=value&key=value’的形式,也可以写成对象的形式
默认返回的数据类型是string,可以通过期望返回的数据类型来改变数据类型
在这里插入图片描述
在这里插入图片描述
写给后端的数据有多种写法
在这里插入图片描述

jQuery发送一个post请求

与$.get()一样,只不过后端的部分内容要修改一下
后端部分
后端部分
前端部分
在这里插入图片描述

jQuery发送一个ajax请求的综合方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这章知识若有不理解的地方,回看https://www.bilibili.com/video/BV1QA411W7s7/?spm_id_from=333.999.0.0的23集,从第14分钟开始

jQuery发送一个ajax请求的promise形式

在这里插入图片描述
回调函数
在这里插入图片描述

promise的形式
在这里插入图片描述
在这里插入图片描述
两种形式都会执行,因为都是回调

注:选择一种形式就行,不要两种都使用

ajax发送跨域请求

在这里插入图片描述

  • jQuery发送jsonp请求
    在这里插入图片描述
    在这里插入图片描述

后端返回jsonp数据的方法
在这里插入图片描述
返回一个函数调用,为对象的形式
在这里插入图片描述
在这里插入图片描述

18.ajax的全局钩子函数

在这里插入图片描述

在这里插入图片描述

每一个请求发送出去之前,都会执行一下a函数,请求完成之后会执行b函数,每次创建ajax对象之前会执行c函数

所以,abcd这几种函数就被称作钩子函数

在这里插入图片描述

在这里插入图片描述
即在同一作用域下有多个ajax请求发生之前会发生ajaxStart()函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以看到,ajaxStart()函数先运行,在运行ajax的请求
在这里插入图片描述
在这里插入图片描述
请添加图片描述
显示为
在这里插入图片描述

只要有请求发送就会响应一次ajaxSend()函数
在这里插入图片描述
在这里插入图片描述
显示为
在这里插入图片描述
只要成功发送一次请求,就会执行一次ajaxSuccess()函数
在这里插入图片描述
同理
在这里插入图片描述
在这里插入图片描述
也与上同理
在这里插入图片描述
不论成功还是失败,都会发送请求
在这里插入图片描述
在这里插入图片描述

19.jQuery的多库并存

在这里插入图片描述
所以,jQuery提供了一种方法来把变量名的所有权交出去
使用方法
在这里插入图片描述

在这里插入图片描述

语法
在这里插入图片描述
第三个有点类似于变量的赋值

20.深浅拷贝

在这里插入图片描述
在这里插入图片描述

赋值的语法,这里是把o1与o2空间共享,使用同一属性
在这里插入图片描述
浅拷贝还是具有一定的局限性
在这里插入图片描述
在这里插入图片描述

  • 方案一:
    使用递归的思想来实现方便的深拷贝
    在这里插入图片描述
    利用这样一个函数就可以实现深拷贝了,但是,这个函数严格意义上不是递归

  • 方案二:
    使用json
    在这里插入图片描述
    只需一行!wc

jQuery的深浅拷贝

在这里插入图片描述
语法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

21.jQuery的插件扩展

在这里插入图片描述
方法一:
在这里插入图片描述
相当于自己写函数扩展到jQuery中去使用
示例代码
在这里插入图片描述

jquery没有操作cookie的方法

方法二:
在这里插入图片描述

就相当于写一个函数添加到jQuery的原型$中去
具体实例
在这里插入图片描述

22.jQuery的入口函数

在这里插入图片描述

$().ready(function(){})window.onload功能相同
在这里插入图片描述
但是很明显,$().ready(function(){})的速度快于window.onload

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值