jQuery:入门

news2024/11/26 16:46:32

jQuery 入门

Date: January 19, 2023


目标:

能够说出什么是 jQuery

能够说出 jQuery 的优点

能够简单使用 jQuery

能够说出 DOM 对象和 jQuery 对象的区别




jQuery 概述

JavaScript 库

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

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

常见的JavaScript 库

jQuery、Prototype、YUI、Dojo、Ext JS、移动端的zepto

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



jQuery 的概念

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

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

jQuery 封装了 JavaScript 常用的功能代码,优化了 DOM 操作、事件处理、动画设计和 Ajax 交互。
学习jQuery本质: 就是学习调用这些函数(方法)。
jQuery 出现的目的是加快前端人员的开发速度,我们可以非常方便的调用和使用它,从而提高开发效率。

Untitled

优点

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

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

链式编程、隐式迭代

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

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

免费、开源




jQuery 的基本使用

jQuery 的下载

官网地址: https://jquery.com/

版本:
1x :兼容 IE 678 等低版本浏览器, 官网不再更新
2x :不兼容 IE 678 等低版本浏览器, 官网不再更新
3x :不兼容 IE 678 等低版本浏览器, 是官方主要更新维护的版本

各个版本的下载:https://code.jquery.com/



jQuery 的使用步骤

  1. 引入 jQuery 文件

  2. 使用即可



jQuery 的入口函数

$(function () {       
		...  // 此处是页面 DOM 加载完成的入口 
}) ;
$(document).ready(function(){   
		...  //  此处是页面DOM加载完成的入口
});
  1. 等着 DOM 结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery 帮我们完成了封装。
  2. 相当于原生 js 中的 DOMContentLoaded。
  3. 不同于原生 js 中的 load 事件是等页面文档、外部的 js 文件、css文件、图片加载完毕才执行内部代码。
  4. 更推荐使用第一种方式。
  • Code:

    <!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>
        <script src="jquery.min.js"></script>
        <style>
            div {
                width: 200px;
                height: 200px;
                background-color: pink;
            }
        </style>
    </head>
    
    <body>
        <script>
            // $('div').hide();
            // 1. 等着页面DOM加载完毕再去执行js 代码
            // $(document).ready(function() {
            //     $('div').hide();
            // })
            // 2.  等着页面DOM加载完毕再去执行js 代码
            $(function() {
                $('div').hide();
    
            })
        </script>
        <div></div>
    
    </body>
    
    </html>
    

为什么要等到DOM结构渲染完毕再执行内部代码?



jQuery 的顶级对象 $

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

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



jQuery 对象和 DOM 对象

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

  2. jQuery 方法获取的元素就是 jQuery 对象。

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

注意:

只有 jQuery 对象才能使用 jQuery 方法,DOM 对象则使用原生的 JavaScirpt 方法。

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

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

  1. DOM 对象转换为 jQuery 对象: $(DOM对象)
$('div')
  1. jQuery 对象转换为 DOM 对象(两种方式)
$('div') [index]       index 是索引号
$('div') .get(index)    index 是索引号
  • Code:jQuery顶级对象$

    <!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>
        <script src="jquery.min.js"></script>
        <style>
            div {
                width: 100px;
                height: 100px;
                background-color: pink;
            }
        </style>
    </head>
    
    <body>
        <div></div>
        <span></span>
        <script>
            // 1. DOM 对象:  用原生js获取过来的对象就是DOM对象
            var myDiv = document.querySelector('div'); // myDiv 是DOM对象
            var mySpan = document.querySelector('span'); // mySpan 是DOM对象
            console.dir(myDiv);
            // 2. jQuery对象: 用jquery方式获取过来的对象是jQuery对象。 本质:通过$把DOM元素进行了包装
            $('div'); // $('div')是一个jQuery 对象
            $('span'); // $('span')是一个jQuery 对象
            console.dir($('div'));
            // 3. jQuery 对象只能使用 jQuery 方法,DOM 对象则使用原生的 JavaScirpt 属性和方法
            // myDiv.style.display = 'none';
            // myDiv.hide(); myDiv是一个dom对象不能使用 jquery里面的hide方法
            // $('div').style.display = 'none'; 这个$('div')是一个jQuery对象不能使用原生js 的属性和方法
        </script>
    </body>
    
    </html>
    
  • Code:DOM对象和jQuery对象相互转换

    <!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>
        <script src="jquery.min.js"></script>
    </head>
    
    <body>
        <video src="mov.mp4" muted></video>
        <script>
            // 1. DOM对象转换为 jQuery对象
            // (1) 我们直接获取视频,得到就是jQuery对象
            // $('video');
            // (2) 我们已经使用原生js 获取过来 DOM对象
            var myvideo = document.querySelector('video');
            // $(myvideo).play();  jquery里面没有play 这个方法
            // 2.  jQuery对象转换为DOM对象
            // myvideo.play();
            $('video')[0].play()
            $('video').get(0).play()
        </script>
    </body>
    
    </html>
    


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

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

相关文章

vue中子组件间接修改父组件传递过来的值

一、前言 Vue官方文档Props单向数据流讲解 Vue中遵循单向数据流&#xff0c;所有的 props 都遵循着单向绑定原则&#xff0c;props 因父组件的更新而变化&#xff0c;自然地将新的状态向下流往子组件&#xff0c;而不会逆向传递。这避免了子组件意外修改父组件的状态的情况&a…

分布式算法 - ZAB算法

ZAB 协议全称&#xff1a;Zookeeper Atomic Broadcast&#xff08;Zookeeper 原子广播协议&#xff09;, 它应该是所有一致性协议中生产环境中应用最多的了。为什么呢&#xff1f;因为它是为 Zookeeper 设计的分布式一致性协议&#xff01;什么是 ZAB 协议&#xff1f; ZAB 协议…

Java基本数据类型

1.概述 佛说&#xff0c;大千世界&#xff0c;无奇不有。在这个世界里&#xff0c;物种的多样性&#xff0c;遍地开花&#xff0c;同样&#xff0c;在Java的世界里&#xff0c;也有着异曲同工之妙&#xff0c;Java秉承面向对象的特性&#xff0c;必然少不了区分对象的类型&…

【安全知识】——端口复用隐藏后门

作者名&#xff1a;白昼安全主页面链接&#xff1a; 主页传送门创作初心&#xff1a; 以后赚大钱座右铭&#xff1a; 不要让时代的悲哀成为你的悲哀专研方向&#xff1a; web安全&#xff0c;后渗透技术每日鸡汤&#xff1a; 精彩的人生是在有限的生命中实现无限价值端口复用是…

【C++】类和对象的六个默认成员函数

类的6个默认成员函数构造函数概念特性析构函数概念特性拷贝构造函数概念特征拷贝构造函数典型调用场景&#xff1a;赋值运算符重载运算符重载赋值运算符重载取地址及const取地址操作符重载类的6个默认成员函数 到底什么是类的6个默认成员函数呢&#xff1f;相信大家一定对此怀…

2023安装archlinux笔记

本文只是个笔记&#xff0c;不是详细教程&#xff0c;仅供参考。 安装过程基本与 《2021年vmware安装archlinux》 https://blog.csdn.net/lxyoucan/article/details/115226297 差不多。 无U盘安装 不想格式化U盘了&#xff0c;直接从硬盘安装。参考一下文章。 《没有U盘纯硬…

什么是全站加速(DCDN)

全站加速&#xff08;DCDN&#xff09; 在阅读本文之前&#xff0c;如果你还没有看过 你管这玩意儿叫CDN 这篇文章&#xff0c;可以先去看一下&#xff0c;然后再来阅读本文&#xff0c;效果会更好一些。 什么是全站加速 全站加速DCDN&#xff08;Dynamic Route for Content…

每日分享(苹果CMS V10仿韩剧TV主题模板源码)

demo软件园每日更新资源,请看到最后就能获取你想要的: ​ 1.低代码引擎技术白皮书 PDF高清版 低代码引擎是一款为低代码平台开发者提供的&#xff0c;具备强大定制扩展能力的低代码设计器研发框架。本白皮书从应用、基础协议和原理三个方面对低代码引擎的技术进行了全面的介绍…

计算机网络体系结构及分层参考模型

文章目录一、分层设计思想的提出二、网络分层的必要性三、什么是计算机网络体系结构四、计算机网络参考模型OSI参考模型/五层参考模型/TCP/IP参考模型一、分层设计思想的提出 最早提出分层思想的是 ARPANET网。1969年11月&#xff0c;美国国防部开始建立一个命名为ARPANET的网络…

c++编程入门到精通(四) 编译过程详解(g++ 编译选项 & cmake编译初解 vscode调试c++)

目录1. g编译基础1.1 g编译过程简述1.2 安装2.g编译过程2.1 g编译选项2.2 g编译实例2.2.1直接编译2.2.2 生成库文件并编译2.2.3 运行可执行文件3. cmake初步3.1 基本特点3.2 CMake基础3.2.1 CMake常见指令3.2.2 CMake常用变量4. CMake编译工程4.1两种方式设置编译规则&#xff…

生活中我们的那些疑惑

在我们日常生活我们大多数都没有天生优势&#xff0c;怎么样让我们创新力和创造力得到最大限度的发挥&#xff1f;也是决定我财商的大小的基础。通过学习努力不断提升我们自身的认知&#xff0c;把认知不确定性尽量降低。 在认知方面&#xff0c;积极情绪最大的作用是让我们更愿…

(四十一)Read Committed隔离级别是如何基于ReadView机制实现的?

今天我们来给大家讲一下&#xff0c;基于之前我们说的ReadView机制是如何实现Read Committed隔离级别的&#xff0c;那么当然了&#xff0c;首先就是要先做一些简单的回顾。所谓的Read Committed隔离级别&#xff0c;我们可以用骚气一点的名字&#xff0c;就是简称为 RC 隔离级…

Java开发环境搭建

什么是JDK、JREJVM 简介JDK下载Hello WorldJava程序开发的三个步骤编写编译运行什么是JDK、JRE JDK &#xff08; J ava D evelopment K it&#xff09;&#xff1a;是Java程序开发工具包&#xff0c;包含JRE和开发人员使用的工具。JRE&#xff08;Java Runtime Environment&a…

数据库管理-第五十八期 倒腾PDB(20230226)

数据库管理 2023-02-26第五十八期 倒腾PDB1 克隆本地PDB2 没开归档总结第五十八期 倒腾PDB 其实本周过的不大好&#xff0c;连着两天熬夜&#xff0c;一次是割接一次是处理ADG备库的异常&#xff0c;其实本周有些内容是以前处理过的问题&#xff0c;到了周末还肚子痛。哎… 1…

【数据库】 第11章 并发控制

第11章 并发控制 事务 事务&#xff1a;(从微观角度&#xff0c;或者从DBMS角度)是数据库管理系统提供的控制数 据操作的一种手段&#xff0c;通过这一手段&#xff0c;应用程序员将一系列的数据库操作组合 在一起作为一个整体进行操作和控制&#xff0c;以便数据库管理系统能…

【Linux驱动开发100问】什么是Linux内核?

&#x1f947;今日学习目标&#xff1a;什么是Linux内核&#xff1f; &#x1f935;‍♂️ 创作者&#xff1a;JamesBin ⏰预计时间&#xff1a;10分钟 &#x1f389;个人主页&#xff1a;嵌入式悦翔园个人主页 &#x1f341;专栏介绍&#xff1a;Linux驱动开发100问 什么是Lin…

SpringMVC源码:DispatcherServlet初始化流程

参考资料&#xff1a; 《SpringMVC源码解析系列》 《SpringMVC源码分析》 《Spring MVC源码》​​​​​​​ 写在开头&#xff1a;本文为个人学习笔记&#xff0c;内容比较随意&#xff0c;夹杂个人理解&#xff0c;如有错误&#xff0c;欢迎指正。 目录 前文 1、简介 2…

Java实现简单KV数据库

用Java实现一个简单的KV数据库 开发思路&#xff1a; 用map存储数据&#xff0c;再用一个List记录操作日志&#xff0c;开一个新线程将List中的操作写入日志文件中&#xff0c;再开一个线程用于网络IO服务接收客户端的命令&#xff0c;再启动时检查日志&#xff0c;如果有数据就…

3.1 网站树的爬起路径

一个网站往往由很多相互关联的网页组成&#xff0c;每个网页上都可能包含我们所要关心的数据&#xff0c;那么我们怎么样获取这些数据呢&#xff1f;显然我们必须穿梭于各个网页之间&#xff0c;那么按什么样的规则穿梭呢&#xff1f;常用的有深度优先与广 度优先方法。为了说明…

0402换元积分法-不定积分

文章目录1 第一类换元法1.1 定理11.2 例题1.2 常见凑微分形式1.2.1常见基本的导数公式的逆运算1.2.2被积函数含有三角函数2 第二类换元法2.1 定理22.2 常见第二换元代换方法2.2.1 三角代换-弦代换2.2.2 三角代换-切代换2.2.3 三角代换-割代换2.2.4 三角代换汇总2.2.5 倒代换2.2…