jQuery库

注明:本文参考自:jQuery - 白月黑羽 (byhy.net)

jQuery安装

Download jQuery | jQuery下载到本地

 ps: script标签中的src属性:表示包含要执行的代码的外部文件位置

<!DOCTYPE html>
<html lang="en"><head><script src="/jslib/jQuery/jquery-3.7.1.js"></script></head><body><button id='b1'>测试按钮1</button><button id='b2'>测试按钮2</button><script>jQuery('button').on('click', function () { alert('按钮被点击') })</script><body>
</html>

选择元素、事件处理

对比不使用jQuery:

<!DOCTYPE html>
<html lang="en"><head></head><body><button id='b1'>测试按钮1</button><button id='b2'>测试按钮2</button><script>let [b1,b2] = document.querySelectorAll('button')b1.addEventListener('click',()=>{alert('按钮被点击')})b2.addEventListener('click',()=>{alert('按钮被点击')})</script><body>
</html>

jQuery本身是一个构造函数,里面的参数是css选择器;jQuery('button')返回的是一个jQuery对象

,这个对象类似js的数组,里面包含了所有 参数css选择器 选中的DOM对象

jQuery对象的on方法,用来定义事件的处理

  jQuery('button').on('click', function () { alert('按钮被点击') })

其中参1为事件名称,参2为回调函数

当然还可以写成

  jQuery('button').click(function () { alert('按钮被点击') })

jQuery的简化别名$

  $('button').on('click', function () { alert('按钮被点击') })

处理键盘事件:

<head><script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
</head><body><textarea>按ctrl+回车 试试</textarea><script>$('textarea').on('keydown', function (e) { if (e.ctrlKey && e.key==='Enter')    alert('按下了ctrl+回车') })</script><body>

 元素操作

添加元素
<head><script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
</head><body><div id='content1'><p id='target1'>原来的元素1</p></div><div id='content2'><p id='target2'>原来的元素2</p></div>
</body>

添加子元素示例:

1.添加到#content1 ,作为最后一个子元素

var ele1 = $("<p>新元素1</p>");
ele1.appendTo("#content1");

还可以写成

$("<p>新元素1</p>").appendTo("#content1");

2.添加到#content1 ,作为第一个子元素

$("<p>新元素2</p>").prependTo("#content1");

3.插入到#target2前面,作为哥哥节点

$("<p>新元素3</p>").insertBefore("#target2");

4.插入到#target2后面,作为弟弟节点

$("<p>新元素4</p>").insertAfter("#target2");

注意区别:一个是div里的content;一个是p里的target

还可以:先选中要插入的元素 (jQuery就等价于document.querySelector(''))

$("#content1").append("<p>新元素1</p>");
$("#content1").prepend("<p>新元素2</p>");
$("#target2").before("<p>新元素3</p>");
$("#target2").after("<p>新元素4</p>");
删除元素

先选中,然后调用remove

$("#content1").remove()
替换元素内容

先选中,然后调用html方法,更新元素内部的html

$("#content2").html(`<p id='target3'>新元素222</p>`)

也可调用text方法,直接更新元素内部的文本内容

$("#target2").text(`新元素222`)

jQuery对元素属性的操作

获取元素属性

(jQuery对象的) attr() : 获取元素的属性 ;返回值为字符串形式

<a id="hey" style='color:green;font-size: 2rem;'  href="/" class='nav nav-item'attr1='自定义属性'>一个链接
</a><script>
let a = $('a') //先选 ;构造函数创建对象console.log(a.attr('id'))
console.log(a.attr('style'))
console.log(a.attr('href'))
console.log(a.attr('class'))
console.log(a.attr('attr1'))
</script>
设置元素属性

attr() 的第二个参数就是用来设置元素的属性的

<a id="hey" style='color:green'  href="/" attr1='自定义属性'>一个链接</a><script>
let a = $('a')a.attr('id', 'new-hey')
a.attr('style' , 'color:blue')
a.attr('href', 'https://www.byhy.net')
a.attr('attr1', '自定义属性2')
</script>
删除元素属性

removeAttr() :用于删除元素的属性

<a id="hey" style='color:green'  href="/" attr1='自定义属性'>一个链接</a><script>
let a = $('a')a.removeAttr('id')
a.removeAttr('style')
a.removeAttr('href')
a.removeAttr('attr1')
</script>
style设置

style属性较为特殊:style的属性值本身又是一个键值对

为了方便style里面的设置,只想设置元素style里的某一个样式的属性,可以使用css()

<a id="hey" style='color:green ; font-size: 2rem;'  href="/" attr1='自定义属性'>一个链接</a><script>
let a = $('a')a.css('color','red')
</script>

点击某个元素,就设置这个被点击元素的style属性:

<a id="hey" style='color:green;font-size: 2rem;'  href="#">一个链接
</a><script>$('a').click(function () {$(this).css('color', 'red');});
</script>

ps:为什么不能写成 $('a').css('color', 'red'); ------- 返回的是符合条件的所有类型的对象,而要的是一批里对应的一个;$(this)代表当前正在点击事件的对象

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让自家的智能语音助手实现todo任务的添加

我家的树莓派在成为了“智能语音助手”后&#xff0c;经过rasa学习训练&#xff0c;已经可以帮忙查日期/时间&#xff0c;查天气预报&#xff0c;进行一些简单的闲聊。但是&#xff0c;我希望它的功能还可以再强大些&#xff0c;比如说&#xff0c;可以帮我记录todo任务。为了实…

当网络适配器的Wireless出现感叹号

1.出现如下情况 链接&#xff1a; &#xff1a;一招搞定Intel(R) Wireless-AC 9560显示感叹号&#xff0c;无法打开wifi模块&#xff01;_intel(r)wireless-ac9560感叹号-CSDN博客z 重点&#xff1a; 原因是因为电脑静电的问题。

生产es所有节点全部掉线 排查

生产es所有节点全部掉线 查看message日志发现 内存溢出 修改jvm的改小 清理buff/cache sync && echo 1 > /proc/sys/vm/drop_caches sync && echo 2 > /proc/sys/vm/drop_caches sync && echo 3 > /proc/sys/vm/drop_caches 把es内存的…

Bean 的生命周期

什么是Bean的生命周期 Bean 的生命周期就是&#xff1a;对象从创建开始到最终销毁的整个过程&#xff0c;Bean 对象从创建到销毁中经历了哪些过程 什么时候创建Bean对象&#xff1f;创建Bean对象的前后会调用什么方法&#xff1f;Bean对象什么时候销毁&#xff1f;Bean对象的销…

13-springcloud gateway集成nacos实现负载均衡

网关作为访问系统的入口&#xff0c;负载均衡是必选项而不是可选项&#xff0c;本文介绍gateway与nacos集成&#xff0c;实现负载均衡的过程。关于springcloud gateway的基本用法&#xff0c;同学可以看看上篇文章: 12-使用gateway作为网关。 0、环境 jdk&#xff1a;1.8spri…

idea插件开发的第一天-写一个小Demo

介绍 Demo说明 本文基于maven项目开发,idea版本为2022.3以上,jdk为1.8本文在Tools插件之上进行开发 Tools插件说明 Tools插件是一个Idea插件,此插件提供统一Spi规范,极大的降低了idea插件的开发难度,并提供开发者模块,可以极大的为开发者开发此插件提供便利Tools插件安装需…

LLM系列 | 36:Google最新开源大模型:Gemma 2介绍及其微调(下篇)

引言 环境安装 数据准备 下载 处理 模型训练 模型inference 结果 gemma-2-9b gemma-2-9b-it 引言 低头观落日&#xff0c;引手摘飞星。 小伙伴们好&#xff0c;我是微信公众号《小窗幽记机器学习》的小编&#xff1a;卖黑神话的小女孩。本文紧接前文Google最新开源大…

栈和队列——用队列实现栈

题目中给出&#xff0c;让我们应用两个队列实现栈&#xff0c;首先我们先来想一下&#xff0c;栈是先进后出&#xff0c;队列是先进先出。所以我们就需要应用两个队列来回导才能实现栈的特点。因为这道题是基于队列来实现的&#xff0c;所以在下方若有看不懂的函数名称可以去栈…

【indirect 函数 ★二级下拉菜单】

Indirect 函数 &#x1f33c;indirect函数参数&#x1f33c;应用&#xff1a;&#x1f33c;跨表引用同一单元格&#x1f33c;二级下拉列表 &#x1f33c;indirect函数参数 返回⬅️【文本字符串所指定的引用】 INDIRECT(ref_text,[a1]) 其中【ref_text】是引用的文本 [a1] 是…

网络安全实训六(靶机实例DC-3)

1 信息收集 1.1 获取靶机IP 1.2 扫描靶机网站的目录 1.3 扫描端口和服务器信息 1.4 进入网站 1.5 在msf中给搜索joomla扫描器 1.6 设置参数查看joomla版本信息 1.7 按照版本号搜索漏洞 1.8 查看漏洞使用 2 渗透 2.1 查看是否存在SQL注入 2.2 获取到数据库信息 2.3 爆破列表 2…

盘点java8 stream中隐藏的函数式接口

shigen坚持更新文章的博客写手&#xff0c;记录成长&#xff0c;分享认知&#xff0c;留住感动。个人IP&#xff1a;shigen 提到函数式接口&#xff0c;最常见的就是lambda表达式&#xff0c;IDEA也有智能的提示&#xff1a; 最后改成这样的就是最简洁的、IDEA希望的风格&#…

【我要成为配环境高手】Visual Studio中Qt安装与配置(无伤速通)

1.下载安装Qt和VSIX插件 2.本地环境变量配置 添加如下&#xff1a; D:\ProgramData\Qt\Qt5.14.2\5.14.2\msvc2017_64\libD:\ProgramData\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin3.VS配置 ⭐项目右键->属性->调试->环境&#xff0c;添加如下&#xff1a;(很重要&#x…

随笔十、音频扩展模块测试

本项测试简单&#xff0c;对购买的音频扩展模块进行录音放音测试 按照使用说明&#xff0c;连接音频小板&#xff0c;一个喇叭一个麦克风&#xff0c;4根线&#xff0c;buildroot系统镜像 录音测试 rootRK356X:/# arecord -c 1 -r 44100 -f S16_LE /tmp/record.wav Recording …

【面试五】PID控制算法

一、 PID算法简介 PID&#xff08;Proportional-Integral-Derivative&#xff09;控制算法是一种经典的反馈控制方法&#xff0c;广泛应用于自动控制系统&#xff0c;例如温度控制、速度控制、位置控制等。 PID控制算法的核心包含三个部分&#xff1a;比例项&#xff08;P&…

Linux基础(包括centos7安装、linux基础命令、vi编辑器)

一、安装CentOS7 需要&#xff1a;1、VMware Workstation&#xff1b;2、CentOS7镜像 1、安装镜像 2、虚拟机配置 开启虚拟机&#xff0c;鼠标从vm中移出来用快捷键ctrlalt 点击开始安装&#xff0c;设置密码&#xff0c;等待安装完成,&#xff0c;重启。 3、注意事项 如果没…

CAN总线简介

CAN 是 Controller Area Network 的缩写&#xff08;以下称为 CAN&#xff09;&#xff0c;是 ISO国际标准化的串行通信协议。 历史背景 CAN 最初出现在80年代末的汽车工业中&#xff0c;由德国 Bosch 公司最先提出。当时&#xff0c;由于消费者对于汽车功能的要求越来越多&a…

android仿assistivetouch悬浮窗实现(带功能实现)

一、悬浮窗点击后的界面&#xff1a; 主要有四个功能&#xff0c;返回、应用程序、退出和主界面。其他功能也可以类似添加。 界面布局代码就不贴出来了&#xff0c;源码&#xff08;切记需要签名才能让功能实现&#xff09;&#xff1a;下载地址 二、主要是检测系统启动或者a…

动态规划法例题

第一个空&#xff0c;用手工计算&#xff0c;可以用贪心法 先选择价值最大的物品&#xff0c;有两个价值是6的物品&#xff0c;重量合计246 剩余4个空间&#xff0c;只能放重量为2的物品&#xff0c;一共是66315 第二个空&#xff0c;需要将所有物品都放进背包舱室&#xff…

基于Python的量化交易回测框架Backtrader初识记录(一)

版权声明&#xff1a;本文为博主原创文章&#xff0c;如需转载请贴上原博文链接&#xff1a;基于Python的量化交易回测框架Backtrader初识记录&#xff08;一&#xff09;-CSDN博客 前言&#xff1a;近期以来&#xff0c;对股市数据获取及预处理算是告一段落&#xff0c;下一步…

OpenCV绘图函数(5)绘制标记函数drawMarker()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::drawMarker 函数在 OpenCV 中用于在一个给定的位置上绘制标记。目前支持几种不同的标记类型&#xff0c;具体信息可以参考 MarkerTypes 函数…