【jQuery】jQuery基础概念

news2025/3/1 16:54:17

一、JavaScript库

1.仓库

可以把很多东西放到这个仓库里面。找东西只需要到仓库里面查找到就可以了。

2. JavaScript库

即 library,是一个封装好的特定的集合(方法和函数)。从封装一大堆函数的角度理解库,就是在这个库中,封装了很多预先定义好的函数在里面,比如动画animate、hide、show,比如获取元素等。简单理解︰就是一个JS文件,里面对我们原生js代码进行了封装,存放到里面。这样我们可以快速高效的使用这些封装好的功能了。

比如jQuery,就是为了快速方便的操作DOM,里面基本都是函数(方法)。

3. 常见的JavaScript库

  • jQuery

  • Prototype

  • YUI

  • Dojo

  • Ext JS

  • 移动端的zepto

这些库都是对原生JavaScript的封装,内部都是用JavaScript实现的,我们主要学习的是jQuery,

二、jQuery

1. 概念

jQuery是一个快速、简洁的JavaScript库,其设计的宗旨是“wrilte Less , Do More”,即倡导写更少的代码,做更多的事情。

j就是JavaScript; Query查询;意思就是查询js,把js中的DOM操作做了封装,我们可以快速的查询使用里面的功能。

jQuery封装了JavaScript常用的功能代码,优化了DOM操作、事件处理、动画设计和Ajax交互。学习jQuery本质:就是学习调用这些函数(方法)。

jQuery 出现的目的是加快前端人员的开发速度,我们可以非常方便的调用和使用它,从而提高开发效率。

2. 优点

  • 轻量级。核心文件才几十kb,不会影响贞面加载速度

  • 跨浏览器兼容。基本兼容了现在主流的浏览器

  • 链式编程.隐式迭代

  • 对事件、样式、动画支持,大人简化了DOM操作

  • 支持插件扩展开发。有着丰富的第三方的插件,例如∶树形菜单、日期控件、轮播图等

  • 免费、开源

3. 下载和使用

https://jquery.com/

版本:

1x︰兼容IE 678等低版本浏览器,官网不再更新

2x∶不兼容IE678等低版本浏览器,官网不再更新

3x:不兼容E678等低版本浏览器,是官方主要更新组扩的版本

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

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

<body>
    <div></div>
    <script>
        // 隐藏盒子
        $('div').hide();
    </script>
</body>

</html>

三、jQuery的入口函数

方式一:

$(document ).ready(function(){
... //此处是页面DOM载完的入口
}) ;

方式二:

$(function (){
... //此处是页面DOM加载完成的入口
}) ;

1.等看DOM结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery帮我们完成了封装。

2.相当于原生js 中的 DOMContentLoaded

3.不同于原生js 中的 load事件是等页面文档、外部的js文件、css文件、图片加载完毕才执行内部代码。

4.更推荐使用第二种方式。

    <script src="./jquery.min.js"></script>
</head>
<style>
    div {
        width: 200px;
        height: 200px;
        background-color: pink;
    }
</style>

<body>
    <!-- 原生JS:先有DOM元素(div)才能操作元素(script) -->
    <!-- 所以如下所示,先script后div是不对的,必须等页面DOM加载完后才能执行js代码 -->
    <!-- <script>
        // 隐藏盒子
        $('div').hide();
    </script>
    <div></div> -->


    <!-- jquery中解决方法——入口函数:等页面DOM加载完再去执行JS代码 -->
    <script>
        // 方式一:
        // $(document).ready(function(){
        //     $('div').hide();
        // })

        // 方式二:
        $(function(){
            $('div').hide();
        })
    </script>
    <div></div>
</body>

四、jQuery的顶级对象$

1. $是jQuery的别称,在代码中可以使用jQuery代替$,但一般为了方便,通常都直接使用$。

2. $是jQuery的顶级对象,相当于原生JavaScript中的window。把元素利用$包装成jQuery对象,就可以调用jQuery的方法。

    <script src="./jquery.min.js"></script>
</head>
<style>
    div {
        width: 200px;
        height: 200px;
        background-color: pink;
    }
</style>

<body>
    <div></div>

    <script>
        // 1. $ 是jquery的别称
        // 方式一:
        // jQuery(function(){
        //     jQuery('div').hide();
        // })

        // 方式二:(常用)
        $(function(){
            $('div').hide();
        })


        // 2. $ 是jQuery的顶级对象
    </script>
</body>

五、jQuery对象和DOM对象

1. DOM对象

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

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

2. jQuery对象

用jquery方式获取过来的对象时jQuery对象。

本质:利用$把DOM对象包装后产生的对象(伪数组形式存储)

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

3. 两者的方法不能混用

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

myDiv.style.display='none'; //DOM对象隐藏
$('div').hide(); //jQuery对象隐藏
    <script src="./jquery.min.js"></script>
</head>
<style>
    div {
        width: 200px;
        height: 200px;
        background-color: pink;
    }
</style>

<body>
    <div></div>

    <script>
        // 1. DOM对象:用原生JS获取过来的对象就是DOM对象
        var myDiv = document.querySelector('div'); // myDiv是DOM对象
        console.dir(myDiv);


        // 2. jQuery对象:用jquery方式获取过来的对象时jQuery对象。本质:利用$把DOM对象包装后产生的对象(伪数组形式存储)
        $('div'); //$('div')是一个jQuery对象
        console.dir($('div'));
        

        // 3. jQuery对象只能使用jQuery方法,DOM对象只能使用原生的JS属性和方法
        // myDiv.style.display='none'; //DOM对象隐藏
        $('div').hide(); //jQuery对象隐藏
    </script>
</body>

4. 两者之间的相互转换

DOM对象与jQuery对象之间是可以相互转换的。

因为原生js 比 jQuery更大,原生的一些属性和方法jQuery没有给我们封装.要想使用这些属性和方法需要把jQuery对象转换为DOM对象才能使用。

4.1 DOM对象转换为jQuery对象∶$(DOM对象)

$('div')

4.2 jQuery对象转换为DOM对象(两种方式)

$('div')[lirldex] index是索引号
$(div').get(index) index是索引号
    <script src="./jquery.min.js"></script>
</head>
<body>
    <video src="video.mp4"></video>
    <script>
        // 1. DOM对象转换为jQuery对象
        // 情况一:我们直接获取视频,得到就是jQuery对象
        $('video');
        // 情况二:已经使用原生JS获取了DOM对象
        var myvideo = document.querySelector('video');
        //$(myvideo)将DOM对象转换为jQuery对象
        // $(myvideo).play; //出错:jQuery里没有play方法


        // 2. jQuery对象转换为DOM对象
        // myvideo.play(); // 原生JS里才有play方法
        // 转换方法一:
        $('video')[0].play()

        // 转换方法二:
        $('video').get(0).play()
    </script>
</body>

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

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

相关文章

信息技术 安全技术 密钥管理

声明 本文是学习github5.com 网站的报告而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 前 言 GB/T 17901《信息技术 安全技术 密钥管理》分为六个部分&#xff1a; ——第1部分&#xff1a;框架&#xff1b; ——第2部分&#xff1a;使用对称技术的…

Odoo 16 企业版手册 - 库存管理之库位管理

库存位置 配置和管理Odoo 库存模块中可用位置的平台将帮助您定义仓库中存放产品的地方。在单个仓库中&#xff0c;您可以管理库存的多个位置。从库存模块的「设置」菜单中&#xff0c;您可以激活存储位置功能&#xff0c;如下所示&#xff0c;该功能将帮助您跟踪仓库中的产品位…

为什么使用消息中间件

为什么要使用消息中间件 如有一个电商交易的场景&#xff0c;用户下单之后调用库存系统减库存&#xff0c;然后调用物流系统进行发货&#xff0c;如果刚开始交易&#xff0c;库存&#xff0c;物流都是属于一个系统&#xff0c;那么他们之间就是接口调用。但是随着系统的发展&a…

FRP 内网穿透搭建(无域名)

一、为什么要内网穿透 FRP 可用于内网穿透的高性能的反向代理应用&#xff0c;支持 tcp, udp, http, https 协议。 使用场景&#xff1a;公网服务器监听某个端口等待内网服务器连接&#xff0c;内网服务器连接成功后&#xff0c;用户访问公网的某一个端口&#xff0c;访问的所…

Domino Web应用早就想到了环保

大家好&#xff0c;才是真的好。 前几周我们讲了Notes&#xff0c;上周讲了点管理&#xff0c;这周我们可以讲点开发。 我现在要讲的技术真的很古老&#xff0c;但现在却被越来越多的人提倡。 传统的Notes应用可以很简单地通过浏览器访问&#xff0c;以一个非常简单但又很使…

ESP32设备驱动-MCP9808数字温度传感器驱动

MCP9808数字温度传感器驱动 文章目录 MCP9808数字温度传感器驱动1、MCP9808介绍2、硬件准备3、软件准备4、驱动实现1、MCP9808介绍 MCP9808 数字温度传感器将 -20C 和 +100C 之间的温度转换为精度为 0.5C(最大值)的数字字。 MCP9808 带有用户可编程寄存器,可为温度传感应用…

联力L216装机心得

联力L216装机心得 2022年12月份装机笔记 参考视频 B站硬件茶谈装机&#xff1a;https://www.bilibili.com/video/BV1BG4y137mG/?spm_id_from333.337.search-card.all.click&vd_source8f7bdd23b317e50e9b9803f44de6a213 联力L216机箱介绍:https://www.bilibili.com/vid…

ArcGIS基础实验操作100例--实验57由点坐标生成面要素

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验57 由点坐标生成面要素 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;…

【Qt】自动查找Qt应用程序缺少的依赖库

【Qt】自动查找Qt应用程序缺少的依赖库1、背景2、实例3、验证1、背景 操作系统&#xff1a;windows10专业版&#xff0c;如下图&#xff1a; Qt版本&#xff1a;qt-opensource-windows-x86-msvc2013_64-5.7.1.exe 使用Qt安装后的qtcreator5.7.1开发Qt应用程序。 将编译生成的…

基于Vue和SpringBoot的超市账单管理系统的设计和实现

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;Java全栈软件工程师一枚&#xff0c;来自浙江宁波&#xff0c;负责开发管理公司OA项目&#xff0c;专注软件前后端开发&#xff08;Vue、SpringBoot和微信小程序&#xff09;、系统定制、远程技术指导。CSDN学院、蓝桥云…

【练习】Day03(未完成版)

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录一、选择二、编程1. 括号生成2. 颜色分类答案1. 选择2. 编程提普通小孩也要热爱生活&#xff01; 一、选择 下列Java代码中的变量a、b、c分别在内存的____存储区存放。 class A {private String a “aa”;public…

SpringBoot+JPA(官方案例)

在线文档项目结构 1.源码克隆&#xff1a;git clone https://github.com/spring-guides/gs-accessing-data-jpa.git 2.包含两个项目initial和complete&#xff0c;initial可以根据文档练习完善&#xff0c;complete是完整项目 3.功能描述&#xff1a;构建应用程序&#xff0c;使…

相机标定中的战斗机--张氏标定法

张正友标定法--相机标定中的灭霸&#xff01;在上学期接触过calibration以后&#xff0c;下定决心要学一下张正友标定法的&#xff0c;然后没来的及学&#xff0c;寒假弥补一下。参考博客&#xff1a;https://zhuanlan.zhihu.com/p/136827980编辑切换为居中添加图片注释&#x…

车牌识别数据收集之自动化筛选工具

综述 最近在进行车牌识别的开发&#xff0c;在数据收集阶段除了那些特定的数据集&#xff08;开源数据集&#xff09;&#xff0c;还需要自己收集一些数据&#xff0c;这些数据主要来自如爬虫、行车记录视频、非特定数据集&#xff0c;而在这些数据集中&#xff0c;只有少量的…

PCB结构和谐振(二)

PCB结构和谐振&#xff08;一&#xff09;实验研究在此章节中&#xff0c;我们通过不同的测试研究了旋转角度/复杂层叠/走线pitch和layout设计等&#xff0c;所有的测试都是基于Intel Delta L 4.0规范。旋转角度单层结构是一个简单的层叠&#xff0c;所以首先通过测试单层结构研…

成都远石无人机航测服务内容

成都远石无人机航测服务致力于为客户提供DEM、DSM、DOM、三维实景模型和机载激光雷达等数据成果&#xff0c;获得的数据成果在各个行业得到了应用和认可。相信大家对于DEM、DSM和DOM这些名词并不陌生&#xff0c;但对其内涵和差别却又比较模糊&#xff0c;接下来就讲一下这些数…

Android:OKhttp拦截器整理笔记

目录 正文 拦截器的自我实现 RetryAndFollowUpInterceptor BridgeInterceptor CacheInterceptor ConnectInterceptor CallServerInterceptor 运行一下 题外话 OkHttp是一个高效的HTTP库: 支持HTTP/2, HTTP/2通过使用多路复用技术在一个单独的TCP连接上支持并发, 通过…

Referer与XMLHttpRequest整理

Apache日志分割 1.原因 1.随着网络的访问量的增加&#xff0c;默认情况下Apache的单个日志文件也会越来越大。 2.日志文件占用磁盘空间很大 3.查看相关信息不方便2.对日志文件进行分割 1.Apache自带rotatelogs分割工具实现 2.第三方工具cronolog 分割3.配置日志分割(我用的p…

基于springboot+mybatis-plus+mysql+python+tensorflow2.0波导识别管理系统

基于springbootmybatis-plusmysqlpythontensorflow2.0波导识别管理系统一、系统介绍二、功能展示1.图片上传2.波导识别三、代码展示四、其它系统五、获取源码一、系统介绍 技术框架&#xff1a; 前端&#xff1a;vue 后端&#xff1a;springboot 算法&#xff1a;pythontensor…

用八叉树优化RayCasting

在之前的文章中&#xff0c;我们不得不等待 8 分钟来渲染一盏精灵灯和一个球体。 总而言之&#xff0c;我们询问每个像素是否有多个三角形之一相交。 这个场景包括&#xff1a; 4 个物体&#xff1a;1 个灯、2 个球体和 1 个平面34,378 个三角形&#xff1a;1 个球体没有三角形…