jQuery 学习归纳1 --- jQuery 常用API

news2024/11/17 10:53:47

        jQuery其实就是一个Js文件,里面集合了很多封装好的函数。方便了我们进行开发使用。

        使用jQuery,就是为了更快速操作DOM。

一、jQuery前期准备

1.1 jQuery 使用的前期准备

        在使用之前需要需要在项目中导入jQuery文件。

        1、进入jQuery官网 www.jQuery.com ,下载我们版本,一般使用压缩版就好

        2、点击下载压缩版,就会跳转到文件内部

        3、复制所有,在自己的项目中,创建一个js文件,jQuery.min.js

1.2 jQuery 的使用

        1、在项目的html文件中引入jQuery文件(一定要在自己书写的JS之前)

         

        2、在后续的JS书写中就可以使用jQuery中封装的函数了。

1.3 jQuery 的入口函数

        等着页面DOM加载完毕再去执行js 代码。

    <script>
        // 等着页面DOM加载完毕再去执行js 代码
        $(function () {
           代码;
        })
    </script>

二、jQuery使用

2.1 jQuery的顶级对象

        $ 是jQuery的别称(另外的名字).

        所以下面的两个代码是等效的

        $(function () {
            $('div').hide();
            alert(11);
        });
        jQuery(function () {

            jQuery('div').hide();
            alert(11);
        });

        $同时也是jQuery的 顶级对象。相当于js中的window。

2.2 DOM 对象和 jQuery 对象区别

        DOM 对象:  用原生js获取过来的对象就是DOM对象

var myDiv = document.querySelector('div'); // myDiv 是DOM对象

        jQuery对象: 用jquery方式获取过来的对象是jQuery对象。 本质:通过$把DOM元素进行了包装

$('div'); // $('div')是一个jQuery 对象

         注意:

        jQuery 对象只能使用 jQuery 方法,DOM 对象则使用原生的 JavaScirpt 属性和方法。

        如:1、jQuery 对象不能对行内样式直接加以修改。2、DOM 对象不能使用jQuery封装的函数

2.3 DOM 对象和 jQuery 对象相互转化

        为了使得一个对象能既使用DOM方法又使用jQuery方法,我们需要让对象在DOM和jQuery中切换

        1、DOM对象转换为 jQuery对象

        var myvideo = document.querySelector('video');
        $(myvideo); //转换为了jquery对象

        2、jQuery对象转换为DOM对象

         $('video');//获取jquery对象
         //转化方式1:
         $('video')[0].play();
         //转换方式2:
         $('video')。get(0).play();

        因为获取的jquery对象以伪数组的方式存在。 

2.4 jQuery的选择器

        首先,加强一个概念,符合选择器条件得到的jquery对象,以数组的形式存储。

2.4.1 基本选择器

        按照标签名称获取:

        $('div')

        按照类名获取:

        $('.myclass1')

        按照id获取;

        $('#mtid1')

         和DOM的对象获取一致。

2.4.2 子代选择器

        所谓子代就是自己的亲儿子,只选出自己的亲儿子。

        这里的前四个li 时ol的亲儿子,后四个li 时ul的前儿子

    <ol>
        <li>我是ol 的</li>
        <li>我是ol 的</li>
        <li>我是ol 的</li>
        <li>我是ol 的</li>
    </ol>
    <ul>
        <li>我是ul 的</li>
        <li>我是ul 的</li>
        <li>我是ul 的</li>
        <li>我是ul 的</li>
    </ul>
        $('ul>li')

2.4.3 后代选择器

        这里选出后续中所有满足条件的子代,比如使用

        $('ul li')

        挑选 

        会得到所有的li对象。 

2.5 jQuery的隐式迭代

        jquery使用很简便的另一个大点在于,jquery内部直接实现了对伪数组的遍历。

        比如当我们对所有div对象设置背景颜色时,只需要获取所有的div,然后设置一次就好。

        $("div").css("background", "red");

        jquery内部自动帮我们实现了循环,不需要我们自己去编写循环代码。

2.6 jQuery的筛选器

2.6.1jQuery的筛选器的使用

        可以使用如下方式,对jquery对象进行筛选

    <script>
        $(function() {
            $("ul li:first").css("color", "red");
            $("ul li:eq(2)").css("color", "blue");
            $("ol li:odd").css("color", "skyblue");
            $("ol li:even").css("color", "pink");
        })
    </script>

2.6.2筛选器使用方法

        1、.parent()                         返回父级

        2、.children(选择器)                亲儿子,类似子代选择器  ul>li

        3、.find(选择器)                       所有子类

        4、.siblings(选择器)                 所有同辈兄弟,除自己!!

        5、nextAll() , prevtAll()            除自己以外的,之前or之后的同辈元素

        6、.eq(index)                          伪类中某个序号的对象

        7、.hasClass('类名')                是否含有特定类,类名不用加 . !!!

2.6.3jQuery 里面的排他思想

        核心思想:借助同辈兄弟筛选器(因为不包括自己)。所以设置自己的样式以后,清除同辈兄弟的样式。

    <script>
        $(function() {
            // 1. 隐式迭代 给所有的按钮都绑定了点击事件
            $("button").click(function() {
                // 2. 当前的元素变化背景颜色
                $(this).css("background", "blue");
                // 3. 其余的兄弟去掉背景颜色 隐式迭代
                $(this).siblings("button").css("background", "");
            });
        })
    </script>

2.7 链式编程

        这样的编程方法,大大降低了代码的书写量。

        一般情况下,我们这样说西安

    <script>
        $(function() {
            // 1. 隐式迭代 给所有的按钮都绑定了点击事件
            $("button").click(function() {
                // 2. 当前的元素变化背景颜色
                $(this).css("background", "blue");
                // 3. 其余的兄弟去掉背景颜色 隐式迭代
                $(this).siblings("button").css("background", "");
            });
        })
    </script>

        如果换成链式编程:

    <script>
        $(function() {
            // 1. 隐式迭代 给所有的按钮都绑定了点击事件
            $("button").click(function() {
                $(this).css("color", "blue").siblings().css("color", "");
        })
    </script>

        只需要一句话,就可以实现2个功能。 

三、 jQuery 常用API

3.1 jQuery 修改样式  --- CSS方法

        jquery对样式的修改,不能像DOM对象一样采用行内样式直接修改,而是要通过jquery封装的函数 .css(),进行修改。

            $("div").css({
                width: 400,
                height: 400,
                backgroundColor: "red"
                    // 如果是复合属性则必须采取驼峰命名法,如果值不是数字,则需要加引号
            })

        或者可以是:

        $("div").css("width", "300px");

        注意:1、属性名一定要加引号;2、如果是复合属性则必须采取驼峰命名法,如果值不是数字,则需要加引号; 

        如果只有属性则返回,属性值。

        console.log($("div").css("width"));

3.2 jQuery 修改样式  --- 类方法

        如果多次重复出现某种样式,我们可以帮这个样式写成一个类。

        .current {
            background-color: red;
            transform: rotate(360deg);
        }

        作用等同于以前的 classList,可以操作类样式, 注意操作类里面的参数不要加点。

        1、添加类

        $(“div”).addClass(''current'');

        2、移除类 

        $(“div”).removeClass(''current'');

        3、切换类

        $(“div”).toggleClass(''current'');

        切换类顾名思义,事件发生以后,重复执行添加,移除的操作。 

        注意:所有的类都是添加!!!而不是覆盖!!!一个对象可以同时添加几个类!!!这个addClass相当于追加类名 不影响以前的类名!!!

        原生 JS 中 className 会覆盖元素原先里面的类名。jQuery 里面类操作只是对指定类进行操作,不影响原先的类名。

3.3  jQuery 效果 --- 显示与隐藏

        1、显示语法规范

show([speed,[easing],[fn]])

        (1)参数都可以省略, 无动画直接显示。

        (2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

        (3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

        (4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次

         2、隐藏语法规范

hide([speed,[easing],[fn]])

        参数同上。

        3、 切换语法规范

toggle([speed,[easing],[fn]])

        参数同上。

         综合案例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            width: 150px;
            height: 300px;
            background-color: aquamarine;
        }
    </style>
    <script src="jquery.min.js"></script>
</head>

<body>
    <button>显示</button>
    <button>隐藏</button>
    <button>切换</button>
    <div></div>
    <script>
        $(function () {
            $("button").eq(0).click(function () {
                $("div").show(1000, function () {
                    alert(1);
                });
            })
            $("button").eq(1).click(function () {
                $("div").hide(1000, function () {
                    alert(1);
                });
            })
            $("button").eq(2).click(function () {
                $("div").toggle(1000);
            })
            // 一般情况下,我们都不加参数直接显示隐藏就可以了
        });
    </script>
</body>

</html>

3.4 jQuery 效果 --- 滑动

        1. 下滑效果语法规范

slideDown([speed,[easing],[fn]])

        2. 上滑效果语法规范

slideUp([speed,[easing],[fn]])

        3、滑动切换效果语法规范

slideToggle([speed,[easing],[fn]])

         综合案例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            width: 150px;
            height: 300px;
            background-color: aquamarine;
            display: none;
        }
    </style>
    <script src="jquery.min.js"></script>
</head>

<body>
    <button>下拉滑动</button>
    <button>上拉滑动</button>
    <button>切换滑动</button>
    <div></div>
    <script>
        $(function () {
            $("button").eq(0).click(function () {
                // 下滑动 slideDown()
                $("div").slideDown();
            })
            $("button").eq(1).click(function () {
                // 上滑动 slideUp()
                $("div").slideUp(500);


            })
            $("button").eq(2).click(function () {
                // 滑动切换 slideToggle()

                $("div").slideToggle(500);

            });

        });
    </script>
</body>

</html>

3.5  jQuery 效果细节---stop()

        所有的jQuery动画效果是一个队列,如果多次触发一个动画效果,就会在我们不触发以后,还在执行,知道队列中的效果全部执行完,这样是不利于交互的。

        在每一次触发事件后,先执行一次stop(),取消该对象之前的队列,只专注当下的效果。

            $(".nav>li").hover(function() {
                // stop 方法必须写到动画的前面
                $(this).children("ul").stop().slideToggle();
            });

        stop()一定写在本次动作之前,用于停止以前的队列。 

3.6  jQuery 效果 --- 淡入淡出

        1. 淡入效果语法规范

        fadeIn([speed,[easing],[fn]])

        (1)参数都可以省略。

        (2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

        (3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

        (4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

        2. 淡出效果语法规范

        fadeOut([speed,[easing],[fn]])

        参数同上。

        3、淡入淡出切换效果语法规范

        fadeToggle([speed,[easing],[fn]])

        4、 渐进方式调整到指定的不透明度

        fadeTo([[speed],opacity,[easing],[fn]])

        (1)opacity 透明度必须写,取值 0~1 之间。

        (2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。必须写

        (3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

        (4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。 

        综合案例:

 <script>
        $(function() {
            $("button").eq(0).click(function() {
                // 淡入 fadeIn()
                $("div").fadeIn(1000);
            })
            $("button").eq(1).click(function() {
                // 淡出 fadeOut()
                $("div").fadeOut(1000);

            })
            $("button").eq(2).click(function() {
                // 淡入淡出切换 fadeToggle()
                $("div").fadeToggle(1000);

            });
            $("button").eq(3).click(function() {
                //  修改透明度 fadeTo() 这个速度和透明度要必须写
                $("div").fadeTo(1000, 0.5);

            });


        });
    </script>

3.7  jQuery 效果 --- 自定义效果

        使用方法:

        animate(params,[speed],[easing],[fn])

        (1)params: 想要更改的样式属性,以对象形式传递,必须写。 属性名可以不用带引号, 如果是复合属性则需要采 取驼峰命名法 borderLeft。其余参数都可以省略。

        (2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。

        (3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。

        (4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。

    <div></div>
    <script>
        $(function() {
            $("button").click(function() {
                $("div").animate({
                    left: 500,
                    top: 300,
                    opacity: .4,
                    width: 500
                }, 500);
            })
        })
    </script>

3.8 jQuery鼠标事件综合

hover([over,]out)

        (1)over:鼠标移到元素上要触发的函数(相当于mouseenter)

        (2)out:鼠标移出元素要触发的函数(相当于mouseleave)

        (3)如果只写一个函数,则鼠标经过和离开都会触发它

            1. 事件切换 hover 就是鼠标经过和离开的复合写法
            $(".nav>li").hover(function() {
                $(this).children("ul").slideDown(200);
            }, function() {
                $(this).children("ul").slideUp(200);
            });
            2. 事件切换 hover  如果只写一个函数,那么鼠标经过和鼠标离开都会触发这个函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1642950.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

支付宝支付流程

第一步前端&#xff1a;点击去结算&#xff0c;前端将商品的信息传递给后端&#xff0c;后端返回一个商品的订单号给到前端&#xff0c;前端将商品的订单号进行存储。 对应的前端代码&#xff1a;然后再跳转到支付页面 // 第一步 点击去结算 然后生成一个订单号 // 将选中的商…

计算机专业就业前景以及工资待遇水平怎么样

计算机专业毕业生的就业前景不错的&#xff0c;计算机专业人才的需求量大&#xff0c;各行各业都需要这类人才来进行软件开发、数据分析、网络安全管理、系统维护等工&#xff0c;工资待遇水平较高&#xff0c;以下是上大学网&#xff08;www.sdaxue.com)整理的计算机专业就业前…

手把手教你在本机安装Stable Diffusion秋叶整合包(附安装包和大模型)

整合包对非技术出身的同学比较友好&#xff0c;因为秋叶大佬把相关的东西已经都整合好了&#xff0c;只需要点点点就行了。当然懂编程的同学就更没有问题了。 文末领取SD安装包和大模型&#xff01; 准备 为了保证AI绘画的效率&#xff0c;建议在本机安装Nvidia独立显卡&…

转速(RPM)和角速度转换FC(CODESYS ST代码)

1、频率和转速转换功能块 频率和转速转换功能块(CODESYS ST源代码)-CSDN博客文章浏览阅读16次。1、转速和频率转换功能块转速和频率转换功能块(CODESYS ST源代码)-CSDN博客文章浏览阅读10次。1、转速/频率常用转换关系转速/频率/线速度/角速度计算FC_200 plc计算角速度-CSDN博…

EXCEL怎样把筛选后含有公式的数据,复制粘贴到同一行的其它列?

自excel2003版之后&#xff0c;常规情况下&#xff0c;复制筛选后的数据&#xff0c;会忽略隐藏行&#xff0c;仅复制其筛选后的数据&#xff0c;粘贴则是粘贴到连续单元格区域&#xff0c;不管行是在显示状态还是隐藏状态。 一、初始数据&#xff1a; 二、题主的复制粘贴问题…

Android仿微信公众号文章页面加载进度条

前言&#xff1a; 微信公众号文章详情页面加载的时候&#xff0c;WebView会在头部显示一个进度条&#xff0c;这样做的好处就是用户可以一边加载网页内容的同时也可浏览网页内容&#xff0c;不需要等完全加载完之后才全部显示出来。如何实现呢&#xff1f; 其实很简单&#xf…

【机器学习】BK- SDM与LCM的融合策略在文本到图像生成中的应用

突破边缘设备限制&#xff1a;BK-SDM与LCM的融合策略在文本到图像生成中的应用 一、引言二、稳定扩散算法的挑战与现状三、BK-SDM与LCM的融合策略利用高质量图像-文本对进行训练为LCM量身定制高级蒸馏过程 四、结论与展望 一、引言 随着人工智能技术的飞速发展&#xff0c;文本…

www.fastssh.com SSH over WebSockets with CDNs

https://www.fastssh.com/page/create-ssh-cdn-websocket/server/这其实不是标准的websocket报文(服务器响应报文无Sec-Websocket-Accept字段)&#xff0c;所以无法使用github.com/gorilla/websocket包&#xff1a;GET / HTTP/1.1 Host: hostname:8080 User-Agent: Go-http-cli…

c#学习基础1

一、复杂数据类型 1&#xff09;概述 2&#xff09;枚举 1.基本概念 枚举是一个比较特别的存在&#xff0c;它是一个被命名的整形常量的集合&#xff0c;一般用它来表示状态&#xff0c;类型等 1.1申明枚举和申明枚举变量 1.2申明枚举语法 2.在哪里申明枚举 3.枚举的使用 4…

Unity技术学习:RenderMesh、RenderMeshInstanced

叠甲&#xff1a;本人比较菜&#xff0c;如果哪里不对或者有认知不到的地方&#xff0c;欢迎锐评&#xff08;不玻璃心&#xff09;&#xff01; 导师留了个任务&#xff0c;渲染大量的、移动的物体。 当时找了几个解决方案&#xff1a; 静态批处理&#xff1a; 这东西只对静…

从0开始linux(1)——文件操作

欢迎来到博主的专栏——从0开始linux 博主ID&#xff1a;代码小豪 博主使用的linux发行版是&#xff1a;CentOS 7.6 不同版本下的操作可能存在差异 文章目录 命令文件操作命令文件树和文件路径文件树绝对路径相对路径 文件属性tree指令删除文件复制文件 大家还记得在小学第一次…

java下乡扶贫志愿者招募管理系统springboot-vue

计算机技术在现代管理中的应用&#xff0c;使计算机成为人们应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题&#xff0c;提高效率。 技术栈 前端&#xff1a;vue.jsElementUI 开发工具&#xff1a;IDEA 或者eclipse都支持 编程语言: java 框架&#xff1…

SQL 基础 | AVG 函数的用法

在SQL中&#xff0c;AVG()是一个聚合函数&#xff0c;用来计算某个列中所有值的平均值。 它通常与GROUP BY子句一起使用&#xff0c;以便对分组后的数据进行平均值计算。 AVG()函数在需要了解数据集中某个数值列的中心趋势时非常有用。 以下是AVG()函数的一些常见用法&#xff…

猿人学第七题-动态字体-随风漂移

前言&#xff1a;该题主要是考对fontTools.ttLib.TTFont的操作&#xff0c;另外就是对字典互相映射的操作 一、woff文件存储 from fontTools.ttLib import TTFont #pip install fontTools def save_woff(response):woff response[woff]woff_file base64.b64decode(woff.enc…

第11章 软件工程

这里写目录标题 1.软件过程1.1能力成熟度模型(CMM)1.2能力成熟度模型集成(CMMI)1.3瀑布模型(线性顺序)1.4增量模型1.5演化模型1.5.1原型模型1.5.2螺旋模型 1.6喷泉模型1.7统一过程(UP)模型 2.敏捷方法3.系统设计4.系统测试4.1单元测试(模块测试)4.2集成测试4.3黑盒测试(功能测试…

噪声嵌入提升语言模型微调性能

在自然语言处理&#xff08;NLP&#xff09;的快速发展中&#xff0c;大模型&#xff08;LLMs&#xff09;的微调技术一直是研究的热点。最近&#xff0c;一篇名为《NEFTUNE: NOISY EMBEDDINGS IMPROVE INSTRUCTION FINETUNING》的论文提出了一种新颖的方法&#xff0c;通过在训…

每日一题2:获取DataFrame的大小

在Python中&#xff0c;pandas库是一个非常流行的数据处理库&#xff0c;它提供了DataFrame这一数据结构来高效地处理表格化的数据。如果想查看一个DataFrame的行数和列数&#xff0c;可以使用.shape来实现。 一、基本用法 当你有一个名为df的DataFrame时&#xff0c;只需调用…

rust使用Atomic创建全局变量和使用

Mutex用起来简单&#xff0c;但是无法并发读&#xff0c;RwLock可以并发读&#xff0c;但是使用场景较为受限且性能不够&#xff0c;那么有没有一种全能性选手呢&#xff1f; 欢迎我们的Atomic闪亮登场。 从 Rust1.34 版本后&#xff0c;就正式支持原子类型。原子指的是一系列…

USP技术提升大语言模型的零样本学习能力

大语言模型&#xff08;LLMs&#xff09;在零样本和少样本学习能力上取得了显著进展&#xff0c;这通常通过上下文学习&#xff08;in-context learning, ICL&#xff09;和提示&#xff08;prompting&#xff09;来实现。然而&#xff0c;零样本性能通常较弱&#xff0c;因为缺…

c#Excel:2.写入Excel表 3.读取Excel表

--写入Excel表-- 该例首先从数据库aq中读取学生信息表staq(参考数据库章节)&#xff0c;然后将学生信息表中的数据写入Excel表格中 &#xff08;1&#xff09;在OfficeOperator类库项目的ExcelOperator类中定义索引器&#xff0c;用于获取Excel表格中的单元格&#xff0c;代码…