jQuery入门(一)

news2024/11/20 8:36:46

一、JQuery介绍

- jQuery 是一个 JavaScript 库。
- 所谓的库,就是一个 JS 文件,里面封装了很多预定义的函数,比如获取元素,执行隐藏、移动等,目的就 是在使用时直接调用,不
 需要再重复定义,这样就可以极大地简化了 JavaScript 编程。
- jQuery 官网:https://www.jquery.com

二、JQuery入门


开发步骤:
1. 编写 HTML 文档。 
2. 引入 jQuery 文件。
3. 使用 jQuery 获取元素。
4. 使用浏览器测试。

示例通过JavaScript原生和jQuery两种方式获取元素和元素html代码。

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>快速入门</title>
</head>
<body>
    <div id="div">我是div</div>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    // JS方式,通过id属性值来获取div元素
    let jsDiv = document.getElementById("div");
    //alert(jsDiv);
    //alert(jsDiv.innerHTML);

    // jQuery方式,通过id属性值来获取div元素
    let jqDiv = $("#div");
    alert(jqDiv);
    alert(jqDiv.html());
</script>
</html>

三、JQuery的操作

     3.1  JS对象和JQuery对象转换

        jQuery 本质上虽然也是 JS,但如果想使用 jQuery 的属性和方法那么必须保证对象是 jQuery 对象,而不是 JS 方式获得的 DOM 对象,二者的 API 方法不能混合使用,若想使用对方的 API,需要进行对象的转换。

1)JS 的 DOM 对象转换成 jQuery 对象

语法:

//$(JS 的 DOM 对象);

// JS方式,通过id属性值获取div元素
let jsDiv = document.getElementById("div");
alert(jsDiv.innerHTML);
//alert(jsDiv.html());  JS对象无法使用jQuery里面的功能

// 将 JS 对象转换为jQuery对象
let jq = $(jsDiv);
alert(jq.html());

2)jQuery 对象转换成 JS 对象

语法:

/*jQuery 对象[索引];
jQuery 对象.get(索引);*/

// jQuery方式,通过id属性值获取div元素
let jqDiv = $("#div");
alert(jqDiv.html());
// alert(jqDiv.innerHTML);   jQuery对象无法使用JS里面的功能

// 将 jQuery对象转换为JS对象
let js = jqDiv[0];
alert(js.innerHTML);

代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>对象转换</title>
</head>
<body>
    <div id="div">我是div</div>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    // JS方式,通过id属性值获取div元素
    let jsDiv = document.getElementById("div");
    alert(jsDiv.innerHTML);
    //alert(jsDiv.html());  JS对象无法使用jQuery里面的功能

    // 将 JS 对象转换为jQuery对象
    let jq = $(jsDiv);
    alert(jq.html());

    // jQuery方式,通过id属性值获取div元素
    let jqDiv = $("#div");
    alert(jqDiv.html());
    // alert(jqDiv.innerHTML);   jQuery对象无法使用JS里面的功能

    // 将 jQuery对象转换为JS对象
    let js = jqDiv[0];
    alert(js.innerHTML);
</script>
</html>

3.2  事件的基本使用

        常用的事件:

        在 jQuery 中将事件封装成了对应的方法。去掉了 JS 中的 .on 语法。
代码示例:(以click,focus,blur事件为例):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>事件的使用</title>
</head>
<body>
    <input type="button" id="btn" value="点我">
    <br>
    <input type="text" id="input">
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    //单击事件
    $("#btn").click(function(){
        alert("点我干嘛?");
    });

    //获取焦点事件
//     $("#input").focus(function(){
//         alert("你要输入数据啦...");
//     });

    //失去焦点事件
    $("#input").blur(function(){
        alert("你输入完成啦...");
    });
</script>
</html>

3.3  事件的绑定和解绑

3.3.1)绑定事件


语法://jQuery 对象.on(事件名称,执行的功能);

示例代码:

//给btn1按钮绑定单击事件
$("#btn1").on("click",function(){
    alert("点我干嘛?");
});


3.3.2)解绑事件
        

语法://jQuery 对象.off(事件名称);

注意:如果不指定事件名称,则会把该对象绑定的所有事件都解绑

示例代码:

//通过btn2解绑btn1的单击事件
$("#btn2").on("click",function(){
    $("#btn1").off("click");
});

3.4 事件的切换

方式一:单独定义

$(元素).事件方法名1(要执行的功能); 

$(元素).事件方法名2(要执行的功能);

单独定义示例代码:

  //方式一 单独定义
       $("#div").mouseover(function(){
           //背景色:红色
           //$("#div").css("background","red");
           $(this).css("background","red");
       });
       $("#div").mouseout(function(){
           //背景色:蓝色
           //$("#div").css("background","blue");
           $(this).css("background","blue");
       });


方式二:链式定义

$(元素).事件方法名1(要执行的功能) 

.事件方法名2(要执行的功能);

链式定义示例代码:

 //方式二 链式定义
 $("#div").mouseover(function(){
        $(this).css("background","red");
    }).mouseout(function(){
        $(this).css("background","blue");
    });

3.5 遍历操作

方式一:传统方式

传统方式语法和示例代码:

//方式一:传统方式
for(let i = 0; i < 容器对象长度; i++){
		执行功能;
}
//方式一:传统方式
$("#btn").click(function(){
    let lis = $("li");
    for(let i = 0 ; i < lis.length; i++) {
        alert(i + ":" + lis[i].innerHTML);
    }
});

方式二:对象.each()方法

对象.each()方法 语法和示例代码:

//方式二:对象.each()方法
容器对象.each(function(index,ele){
	执行功能;
});

//方式二:对象.each()方法
$("#btn").click(function(){
    let lis = $("li");
    lis.each(function(index,ele){
        alert(index + ":" + ele.innerHTML);
    });
});

方式三:$.each()方法

$.each()方法语法和示例代码:

//方式三:$.each()方法
$.each(容器对象,function(index,ele){
	执行功能;
});

//方式三:$.each()方法
$("#btn").click(function(){
    let lis = $("li");
    $.each(lis,function(index,ele){
        alert(index + ":" + ele.innerHTML);
    });
});

方式四:for of语句

for of 语句遍历语法和示例代码:

//方式四:for of 语句遍历
for(ele of 容器对象){
	执行功能;
}

//方式四:for of 语句遍历
$("#btn").click(function(){
    let lis = $("li");
    for(ele of lis){
        alert(ele.innerHTML);
    }
});

四、总结

- JS 对象和 jQuery 对象相互转换
  - $(JS 的 DOM 对象):将 JS 对象转为 jQuery 对象。
  - jQuery 对象[索引] jQuery
  - 对象.get(索引):将 jQuery 对象转为 JS 对象。


- 事件
  - 在 jQuery 中将事件封装成了对应的方法。去掉了 JS 中的 .on 语法。
  - on(事件名称,执行的功能):绑定事件。
  - off(事件名称):解绑事件。


- 遍历
  - 传统方式。
  - 对象.each() 方法。
  - $.each() 方法。
  - for of 语句。

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

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

相关文章

iPhone 在 App Store 中推出的 PC 模拟器 UTM SE

PC 模拟器是什么&#xff1f;PC 模拟器是一种软件工具&#xff0c;它模拟不同硬件或操作系统环境&#xff0c;使得用户可以在一台 PC 上运行其他平台的应用程序或操作系统。通过 PC 模拟器&#xff0c;用户可以在 Windows 电脑上体验 Android 应用、在 Mac 电脑上运行 Windows …

Python如何获取终端尺寸?

os.get_terminal_size()&#xff0c;无差别获取当前终端长宽&#xff0c;让你为所欲为。 (笔记模板由python脚本于2024年07月27日 08:30:53创建&#xff0c;本篇笔记适合喜欢钻研的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Fre…

使用命名管道的通信程序, 加入了日志系统

文章目录 日志系统通信程序运行效果 日志系统 // log.hpp #pragma once #include <time.h> #include <iostream> #include <stdio.h> #include <string> #include <stdarg.h> #include <sys/types.h> #include <sys/stat.h> #inclu…

软设之数据库关系代数

数据库关系代数 基本概念 元祖行&#xff1a;水平方向上每一行为一条记录&#xff0c;这个记录对应1个实体。一般称为元祖&#xff0c;元祖行或者记录 属性列&#xff1a;垂直方向上每一列为一个属性&#xff0c;一般称为属性列&#xff0c;字段等。关系表达式中可以用列序号…

又要起飞,浏览器居然都可以本地 OCR 啦

前言 PaddleOCR&#xff0c;这是一个由百度开发的开源 OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;工具&#xff0c;它可以用于从图像中识别文本。 PaddleOCR支持多种语言的文本识别&#xff0c;并且能够处理多种场景下的图像。 现在…

【Web开发手礼】探索Web开发的魅力(十二)-Vue(2)用户动态页面

前言 主要介绍了用vue框架创建用户动态页面的具体过程&#xff0c;可以帮助学习vue框架的基本知识&#xff01;&#xff01;&#xff01;&#xff01; 用户动态页面 用户信息 用户头像 通过 Bootstrap 所提供的 .img-fluid 类让图片支持响应式布局。其原理是将 max-width: 10…

Java面试八股之Spring boot的自动配置原理

Spring boot的自动配置原理 Spring Boot 的自动配置原理是其最吸引人的特性之一&#xff0c;它大大简化了基于 Spring 框架的应用程序开发。以下是 Spring Boot 自动配置的基本原理和工作流程&#xff1a; 1. 启动类上的注解 Spring Boot 应用通常会在主类上使用 SpringBoot…

ZBrush入门使用介绍——4、笔刷选项说明

大家好&#xff0c;我是阿赵。   这次来看看ZBrush的笔刷的选项用法。 一、选择笔刷 点击笔刷&#xff0c;可以打开笔刷选择面板。 在最上面的Quick Pick&#xff0c;有最近使用过的笔刷&#xff0c;可以快速的选择。下面有很多可以选择的笔刷。但由于笔刷太多&#xff0c;…

AJAX之基础知识

目录 AJAX入门及axios使用什么是AJAX怎么用AJAX 认识URL协议域名资源路径URL查询参数 查询参数URL查询参数axios查询参数 常用请求方法axios请求配置 axios错误处理HTTP协议请求报文请求报文-错误排查响应报文HTTP响应状态码 form-serialize插件 AJAX入门及axios使用 什么是AJ…

【Python机器学习】决策树的构造——信息增益

决策树是最经常使用的数据挖掘算法。它之所以如此流行&#xff0c;一个很重要的原因就是不需要了解机器学习的知识&#xff0c;就能搞明白决策树是如何工作的。 决策树的优缺点&#xff1a; 优点&#xff1a;计算复杂度不高&#xff0c;输出结果易于理解&#xff0c;对中间值的…

RabbitMq手动ack的超简单案例+Confirm和Return机制的配置和使用

最简单的例子 先简单介绍一下这三个方法 basicAck 表示确认成功&#xff0c;使用此方法后&#xff0c;消息会被rabbitmq broker删除 basicNack 表示失败确认&#xff0c;一般在消费消息业务异常时用到此方法&#xff0c;可以将消息重新投递入队列 basicReject 拒绝消息&am…

Chainlit一个快速构建成式AI应用的Python框架,无缝集成与多平台部署

概述 Chainlit 是一个开源 Python 包&#xff0c;用于构建和部署生成式 AI 应用的开源框架。它提供了一种简单的方法来创建交互式的用户界面&#xff0c;这些界面可以与 LLM&#xff08;大型语言模型&#xff09;驱动的应用程序进行通信。Chainlit 旨在帮助开发者快速构建基于…

全网最适合入门的面向对象编程教程:25 类和对象的 Python 实现-Python 判断输入数据类型

全网最适合入门的面向对象编程教程&#xff1a;25 类和对象的 Python 实现-Python 判断输入数据类型 摘要&#xff1a; 本文主要介绍了在使用 Python 面向对象编程时&#xff0c;如何使用 type 函数、isinstance 函数和正则表达式三种方法判断用户输入数据类型&#xff0c;并对…

PWA(渐进式网页应用)方式实现TodoList桌面应用

参考&#xff1a; https://cloud.tencent.com/developer/article/2322236 todlist网页参考&#xff1a; https://blog.csdn.net/weixin_42357472/article/details/140657576 实现在线网页当成app应用&#xff1a; 一个 PWA 应用首先是一个网页, 是通过 Web 技术编写出的一个网…

如何全面提升架构设计的质量?

当我们从可扩展、高可用、高性能等角度设计出来架构的时候&#xff0c;我们如何优化架构呢&#xff1f;就需要从成本、安全、测试等角度进行优化。 如何设计更好的架构 - 步骤 成本 低成本复杂度本质 低成本手段和应用 低成本的主要应用场景 安全 安全性复杂度本质 架构安全…

大语言模型系列-Transformer:深入探索与未来展望

大家好&#xff0c;我是一名测试开发工程师&#xff0c;已经开源一套【自动化测试框架】和【测试管理平台】&#xff0c;欢迎大家联系我&#xff0c;一起【分享测试知识&#xff0c;交流测试技术】 Transformer模型自其问世以来&#xff0c;便迅速在自然语言处理领域崭露头角&a…

2024年【危险化学品生产单位安全生产管理人员】最新解析及危险化学品生产单位安全生产管理人员考试总结

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品生产单位安全生产管理人员最新解析参考答案及危险化学品生产单位安全生产管理人员考试试题解析是安全生产模拟考试一点通题库老师及危险化学品生产单位安全生产管理人员操作证已考过的学员汇总&#xff0c;…

mysql基本数据类型(整型)

一、 常见面试题 整型都有哪些基础类型&#xff0c;各占几个字节 tinyint, smallint, mediumint, int, bigint: 1 2 3 4 8 int(n) 是什么意思&#xff0c;什么时候用到 指定显示位宽&#xff0c;需配合 zerofill 使用&#xff08;不够位宽则在前面补0&#xff09;&#xff0c;…

Could not find a version that satisfies the requirement

Could not find a version that satisfies the requirement 目录 Could not find a version that satisfies the requirement 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;2…