JQuery入门

2023-11-10

JQuery:
  • jQuery 是一个 JavaScript 库。
  • 所谓的库,就是一个 JS 文件,里面封装了很多预定义的函数,比如获取元素,执行隐藏、移动等,目的就 是在使用时直接调用,不需要再重复定义,这样就可以极大地简化了 JavaScript 编程。
  • jQuery 官网:https://www.jquery.com
  • 使用必须要引入jQuery的文件
  • jQuery的语法:$();
快速入门:
<body>
    <div id="div">我是div</div>
</body>
<!--引入 jQuery 文件-->
<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>
JS对象和JQuery对象转换:

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

JQuery 对象 [索引];
JQuery 对象.get(索引);

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());

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);
事件的基本使用:

在 jQuery 中将事件封装成了对应的方法。去掉了 JS 中的 .on 语法。

常用的事件
在这里插入图片描述
代码实现:

<body>
<input type="button" id="btn" value="点我">
<br/>
<input type="text" id="input">
</body>
<script src="jquery-3.3.1.min.js"></script>
<script>
    // 单击事件
    $("#btn").click(function () {
        alert("点我弄啥啊")
    });

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

    // 失去焦点事件
    $("#input").blur(function () {
        alert("谢谢输入")
    });
</script>
时间的绑定和解绑:

绑定事件: jQuery 对象.on(事件名称,执行的功能);

解绑事件: jQuery 对象.off(事件名称);

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

<body>
<input type="button" id="btn1" value="点我">
<input type="button" id="btn2" value="解绑">
</body>
<script src="jquery-3.3.1.min.js"></script>
<script>
    // btn1绑定单击事件
    $("#btn1").on("click", function () {
        alert("弄啥啊")
    });

    // 通过btn2解绑btn1的事件
    $("#btn2").on("click", function () {
        $("#btn1").off("click");
    });
</script>
时间的切换:

事件的切换:需要给同一个对象绑定多个事件,而且多个事件还有先后顺序关系。

  • 方式一:单独定义

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

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

<script>
    // 方式一:单独定义
    $("#div").mousemove(function () {
        // 添加背景色  黑色
        // $("div").css("background", "black")
        $(this).css("background", "black")   //简写
    });
    $("#div").mouseout(function () {
        // 背景色 蓝色
        // $("#div").css("background", "blue");
        $(this).css("background", "blue")  
    });
</script>
  • 方式二:链式定义

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

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

    //方式二 链式定义   也就是在第一个事件没结束可以直接在后面使用
    $("#div").mouseover(function () {
        $(this).css("background", "red");
    }).mouseout(function () {
        $(this).css("background", "blue");
    });
遍历操作:
  • 方式一:传统方式
for(let i = 0; i < 容器对象长度; i++){
		执行功能;
}
<body>
<input type="button" id="btn" value="遍历列表项">
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
</body>
<script src="jquery-3.3.1.min.js"></script>
<script>
    //方式一:传统方式
    $("#btn").click(function () {
        let lis = $("li");
        for (let i = 0; i < lis.length; i++) {
            alert(i + ":" + lis[i].innerHTML);
        }
    });
</script>
  • 方式二:对象.each()方法
容器对象.each(function(index,ele){
	执行功能;
});
    //方式二:对象.each()方法
    $("#btn").click(function () {
        let lis = $("li");
        lis.each(function (index, ele) {
            alert(index + ":" + ele.innerHTML);
        });
    });
  • 方式三:$.each()方法
$.each(容器对象,function(index,ele){
	执行功能;
});
    //方式三:$.each()方法
    $("#btn").click(function () {
        let lis = $("li");
        $.each(lis, function (index, ele) {
            alert(index + ":" + ele.innerHTML);
        });
    });
  • 方式四:for of语句
for(ele of 容器对象){
	执行功能;
}
    //方式四:for of 语句遍历
    $("#btn").click(function () {
        let lis = $("li");
        for (ele of lis) {
            alert(ele.innerHTML);
        }
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQuery入门 的相关文章

  • JQuery 使用 Bootstrap 4 验证表单输入并突出显示标签[重复]

    这个问题在这里已经有答案了 我已读过 我已读过带有 jQ uery 验证插件的 Bootstrap https stackoverflow com questions 18754020 bootstrap with jquery valid
  • jQuery 画廊用下一个和上一个按钮翻转

    我正在尝试用 jQuery 做某种 Gallery Turn Over 脚本 因此我得到了一个数组 比方说 13 图像 galleryImages new Array images tb 01 jpg images tb 02 jpg im
  • 为什么我必须将所有脚本放入 jquery mobile 中的index.html

    我在我的phonegap jquerymobile 项目中使用 mobile changepage 进行重定向 然而让我困惑的是我需要将所有页面的脚本放在同一个文件index html中 如果不是 则重定向页面无法执行其标头中的函数 例如
  • 这段 jquery 代码可以写得更短吗? (初学者)

    这是我第一次在 stackoverflow 上提问 所以如果我做错了什么请原谅我 我也是 jquery 的新手 但通过阅读和教程 我设法创建了一个工作示例 下面的代码是我创建的 这意味着我有三个带有可拖动需求的列表和三个可以删除需求的占位符
  • 如何让更大的布局适合小设备屏幕?

    我有一个小问题meta viewport元素 问题是我的布局min width比我想要使用的许多屏幕分辨率都要大 所以将其设置为 没有帮助 结果我得到的页面必须缩小以适应设备宽度 如果我什至添加像 它也不起作用 发现了一个黑客来自CSS 技
  • 是否可以全局文本对齐表列而不在每行中指定类?

    想知道提高效率的最佳方法是什么 也许使用 jQuery 我可以接受不兼容 ie7 的解决方案 如果需要的话 即使缺乏对 ie8 的支持也可以 table th td class cal center td td left td td cla
  • jquery 验证最小长度规则不起作用

    我有一个带有密码字段的表单 密码长度必须至少为 8 个字符
  • Chrome 和 IE 上的滚动/延迟事件

    我试图让用户始终看到一个内容块 即使他向下滚动页面也是如此 他还应该能够上下滚动内容块 这是一个精简版本的小提琴 向您展示我的意思 http jsfiddle net 9ehfV 2 http jsfiddle net 9ehfV 2 人们
  • 显示对象内容 - JS/jQuery

    With this data events 返回 object Object 我需要看看里面到底发生了什么 我找到了这个 var Finder each this data events function i n Finder Name i
  • jQuery翻译+切换,如何链接两者?

    我目前正在开发一个 jQuery 脚本 它将把网站的文本翻译成外语 我正在为此使用 Google Translate API 我希望该页面包含一个显示 En Espanol 的链接 当用户单击 En Espanol 时 页面正文会被翻译成西
  • HighStocks 可拖动元素干扰 gridster 拖动

    我正在使用 HighStocks 和 gridster 的股票图表 gridster 中的每个单独的块都可以自由拖动 然而 股票时间滑块小工具也可以拖动和调整大小 由于它位于 gridster 小部件的顶部 因此每当我拖动滑块时 整个小部件
  • JQuery 找不到我的元素。为什么?

    更新 愚蠢的我没有注意到案例不准确 我为此苦苦挣扎了 30 多分钟 而你们在不到 5 分钟的时间里就看到了我的问题 感谢您为我节省了很多悲伤 无论如何 我对编程还是个新手 我需要学习如何留意这样的小事情 但非常感谢 它甚至没有闪过我的脑海
  • 使用回退异步加载 jquery 核心

    通过标头中的性能优化和非阻塞脚本 我一直在尝试异步加载 jquery 本身 我遇到了一个jQuery 加载器 http www yterium net jQl an asynchronous jQuery Loader脚本 那个async加
  • 解决错误 413 请求实体太大

    我正在从事的项目允许我们的员工将大文件上传到我们的共享主机并获取下载链接 问题是我们的托管拒绝更改共享托管的 LimitRequestBody 还有其他解决方案可以解决 LimitRequestBody 或任何其他方法来完成这项工作吗 有两
  • JQuery AJAX 使用 SOAP Web 服务 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在尝试学习 JQuery 使用 AJAX 来使用我不久前编写的 SOAP Web 服务 下面是我正在使用的代码
  • jQuery 将表单提交到新选项卡?

    我有一个表单中的操作链接 需要每分钟用令牌更新一次 当用户单击提交按钮时 我从 api 调用中获取新的 url 令牌 我正在使用这样的东西
  • 一旦元素存在就触发事件的脚本?

    我正在尝试编写一个小 Greasemonkey 脚本来实现 Facebook 中的一些任务 例如隐藏新闻等 问题是 我有一个 DOM 中尚不存在的元素的 ID 这是点击帖子的箭头图标时出现的小框 如何通过 jQuery 创建一个事件处理程序
  • 如何在 Yii 框架中使用 jQuery?

    如何在 yii 中使用 jquery javascript 如何在 yii 中使用我的脚本 为什么这与以其他方式使用 jQuery 有什么不同 如何在yii中使用jquery 如上所述 您可以注册新的脚本块 也可以注册新的外部脚本文件 您还
  • 如何根据上一张或下一张幻灯片按键更改 Nivo Slider 中的效果?

    我想根据按下的按钮更改 Nivo Slider 上的过渡效果 关于如何实现这一目标有什么想法吗 Update澄清一下 我指的是下一个或上一个按钮 而不是键盘上的按钮 我正在寻找的是 如果一个人按下下一个按钮 则会调用 slipToRight
  • 如何在 Firefox 插件上使用 jQuery 1.5.2+?

    首先 我创建了一个接收参数并返回 jQuery 的函数 例如 function getjQuery window jquery code window return window jQuery 但后来我收到了一封评论电子邮件 他们告诉我必须

随机推荐

  • 面试了30多家大厂后,整合出这份1658 页《Java 面试突击核心讲》

    面试神技 主要包含 Java 基础 JVM 多线程 MySQL Spring SpringBoot SpringCloud 分布式 Dubbo Mybatis Redis 网络 Linux MQ Zookeeper Netty 大数据 算法
  • 面试系列之JVM

    说说JVM的内存模型 方法区 存储已被虚拟机加载的类信息 常量 静态变量 即时编译后的代码等数据 堆 存放对象实例 几乎所有的对象实例都要在堆上分配 程序计数器 当前线程所执行的字节码的行号指示器 虚拟机栈 描述的是Java方法执行的内存模
  • Java如何使用dom4j获取,添加,删除,查找,设置Element节点呢?

    转自 Java如何使用dom4j获取 添加 删除 查找 设置Element节点呢 下文笔者讲述DOM4J操作Element节点的示例分享 如下所示 获取文档的根节点 Element rootElm document getRootEleme
  • 'gbk' codec can't decode byte 0x91 in position 2: illegal multibyte sequence的解决

    今天在使用Pycharm运行程序的时候 在对文件进行分割时 出现此问题 当时代码是 f open 对话 txt r 运行就会报错 在上网搜索后发现 原来问题是出现在字符编码上 改成 f open 对话 txt r encoding UTF
  • 程序员大大们,平时都喜欢逛什么技术论坛?

    先安排个工作 再带你学技术 闲来无事戳一戳 有小惊喜 1 CSDN 中国开发者网络 https mp csdn net 中国专业IT社区 为中国软件开发者提供知识传播 在线学习 职业发展等全生命周期服务 2 GitHub 开发者最最最重要的
  • cmd中如何进入某文件目录

    步骤如下 1 按下键盘的 win R 组合键 或者是点击开始菜单中的 运行 选项 来打开运行窗口 然后在打开的运行窗口中输入 CMD 回车 2 然后就打开了CMD命令窗口了 3 如 要进入F盘中的某个目录 则输入 F 回车 然后就进入了F盘
  • Qt 多窗口的调用

    方法一 用于一个父窗口和多个子窗口的处理 不知道怎么用于处理子窗口的子窗口的处理 1 建立一个父窗口 然后建立一个QDialog类型的窗口作为子窗口 2 在父类窗口建立子窗口的对象 void 父类名 on pushButton clicke
  • 红黑树之歌

    译文 我看到一个全新的节点 我想把它涂成黑色 我们需要一棵平衡的树 我们得把它漆成黑色 我想在log n的时间内找到键 就这样 旋转子树可以是一个球 我看到一个全新的节点 我想把它涂成黑色 不能有很多红节点 我们必须把它们涂成黑色 不幸的是
  • TortoiseGit 如何回退到以前的版本?

    要在 TortoiseGit 中回退到以前的版本 可以按照以下步骤进行操作 在资源管理器中 右键单击你的 Git 仓库文件夹 然后选择 TortoiseGit 再选择 Show log 这将打开 TortoiseGit 的日志界面 在日志界
  • 【华为OD】

    华为OD试题注意事项 使用合适的编程语言 在华为OD机试中多数情况下使用C 或Java 按照题目要求进行编码 仔细阅读题目描述并理解要求 在编码前可以进行伪代码编写或画流程图有助于理解和排除逻辑错误 注意代码的规范性 注重代码的可读性和可维
  • 测试架构师的职责及困境

    架构师 架构师来自于建筑学 英文是Architect 建筑工程中的架构师是负责整体建筑的架构设计 因此从宏观上看 软件行业的架构师也类似 是负责整体架构的设计 在软件工程中架构师是一个团队的技术的领头者 主要工作内容除去对项目的整体设计和规
  • redis一主二从时,主中读取不到从的信息

    一 错误情境描述 1 主 6379 2 从1 6380 3 从2 6381 二 错误原因 主中带有密码 三 解决办法 1 将主中配置文件中注释掉代码 2 在从的配置文件中添加主的密码 当master服务设置了密码保护时 slav服务连接ma
  • uniapp--- 微信小程序 用户隐私新规相关代码调整【vue3+ts+uView框架】

    uniapp 微信小程序 用户隐私新规相关代码调整 vue3 ts uView框架 官方公告地址 https developers weixin qq com community develop doc 00042e3ef54940ce85
  • elementUI中的$confirm调换两个按钮的位置

    confirm默认两个按钮的位置为 取消在前 确认在后 而我们在项目中经常要求 确认在前 取消在后 所以需要调换两个按钮的位置 修改后的样式如下图所示 用css样式调换两个按钮的位置 代码如下 给取消按钮添加样式 this confirm
  • 关于取模运算的特点与应用

    对于取模 取余 运算 比如A M 结果永远都是在 0 M 1 之间循环 并且如果A lt M 则结果和没有进行取模运算一样 这一特点有很多应用场景 1 最常见的就是对2取模来判断奇偶数 2 循环队列中通过对最大容量取模来控制数组下标 防止索
  • 资源记录

    AE插件 https zhuanlan zhihu com p 26304609 GLSL内置函数使用 https blog csdn net jeffasd article details 77989274 ops request mis
  • js中forEache()和Map()的区别

    定义剖析 我们首先来看一看MDN上对Map和ForEach的定义 forEach 针对每一个元素执行提供的函数 executes a provided function once for each array element map 创建一
  • 地埋式积水在线监测系统助力城市内涝解决方案

    一 方案背景 随着我国城镇化快速发展 城市建设产生的大量地面硬底化 大部分的降雨将形成地表径流 仅有少量雨水渗入地下 导致城市内涝等一系列问题 当前 全国多地发生洪涝 我国南北方全面进入主汛期 与往年相比 今年的汛期不仅提前4天 而且汛情呈
  • 3.app自动化项目

    app自动化项目 我们可以使用AirtestIDE工具进行脚本的调试 元素的定位等辅助功能 但是真正意义上的脚本 在 AirtestIDE 工具中实现还是比较麻烦 问题 1 如何使用pycharm实现airtest内容脚本 解决方案 如果是
  • JQuery入门

    JQuery jQuery 是一个 JavaScript 库 所谓的库 就是一个 JS 文件 里面封装了很多预定义的函数 比如获取元素 执行隐藏 移动等 目的就 是在使用时直接调用 不需要再重复定义 这样就可以极大地简化了 JavaScri