当前位置: 首页 > news >正文

【Java 进阶篇】JQuery 遍历:发现元素的魔法之旅

在这里插入图片描述

欢迎来到 JQuery 的奇妙世界,一个充满活力和灵感的地方。在这个世界里,我们将一起探讨 JQuery 的遍历功能,这是一个让你轻松发现和操作网页元素的神奇工具。无需太多前端经验,只要有一颗探险的心,你就能在 JQuery 遍历中找到属于你的宝藏。

前言

在 Web 开发中,我们常常需要在页面中找到特定的元素,然后对它们进行操作。这就是 JQuery 遍历的用武之地。遍历不仅仅是寻找元素,更是发现元素之美的一种方式。在这篇博客中,我们将深入研究 JQuery 遍历的方方面面,让你在前端的道路上越走越远。

遍历基础

在 JQuery 中,遍历主要通过选择器和遍历方法实现。首先,我们来看一下基础的选择器。

1. 元素选择器

元素选择器是最简单的一种选择器,通过元素的标签名选择对应的元素。比如,选择所有的段落元素可以这样写:

<!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>JQuery 元素选择器示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */p {margin: 10px;padding: 10px;background-color: #f0f0f0;border: 1px solid #ddd;}</style><script>$(document).ready(function() {// 选取所有段落元素并修改它们的样式$("p").css("color", "blue");});</script>
</head>
<body><p>这是第一个段落。</p><p>这是第二个段落。</p><p>这是第三个段落。</p>
</body>
</html>

在这个例子中,$("p") 就是一个元素选择器,它选取了页面中所有的 <p> 元素,并通过 css() 方法修改它们的文字颜色。

2. 类选择器

类选择器通过元素的类名来选择对应的元素。比如,选择所有具有 highlight 类的元素:

<!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>JQuery 类选择器示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */.highlight {background-color: yellow;}</style><script>$(document).ready(function() {// 选取所有具有 highlight 类的元素并修改它们的样式$(".highlight").css("font-weight", "bold");});</script>
</head>
<body><p class="highlight">这是一个高亮的段落。</p><p>这是另一个普通的段落。</p><p class="highlight">这是又一个高亮的段落。</p>
</body>
</html>

在这个例子中,.highlight 就是一个类选择器,它选取了页面中所有具有 highlight 类的元素,并通过 css() 方法修改它们的文字加粗样式。

3. ID 选择器

ID 选择器通过元素的唯一 ID 来选择对应的元素。比如,选择具有 unique ID 的元素:

<!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>JQuery ID 选择器示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */#unique {color: green;}</style><script>$(document).ready(function() {// 选取具有 unique ID 的元素并修改它的样式$("#unique").text("这是一个有趣的元素").css("font-size", "18px");});</script>
</head>
<body><p>这是一个普通的段落。</p><!-- 具有 unique ID 的元素 --><p id="unique"></p><p>这是另一个普通的段落。</p>
</body>
</html>

在这个例子中,#unique 就是一个 ID 选择器,它选取了页面中具有 unique ID 的元素,并通过 text() 方法修改了它的文字内容,同时通过 css() 方法修改了文字颜色和字体大小。

这些基础的选择器让我们能够准确地选取页面上的元素,但有时候我们需要更灵活的方式来定位元素。这时就需要使用 JQuery 的遍历方法。

遍历方法

JQuery 提供了多种遍历方法,让你能够轻松地在文档中移动和操作元素。下面我们来介绍几个常用的遍历方法。

1. each() 方法

each() 方法用于遍历匹配元素集合中的每一个元素,对每个元素执行指定的函数。

<!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>JQuery each() 方法示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */.item {margin: 5px;padding: 10px;border: 1px solid #ddd;}</style><script>$(document).ready(function() {// 选取所有具有 item 类的元素,并对每个元素执行函数$(".item").each(function(index, element) {// 在每个元素后面添加索引号$(element).text("这是第" + (index + 1) + "个元素");});});</script>
</head>
<body><!-- 具有 item 类的元素 --><div class="item"></div><div class="item"></div><div class="item"></div>
</body>
</html>

在这个例子中,.item 是一个类选择器,选取了页面中所有具有 item 类的元素。通过 each() 方法,对每一个元素执行了一个函数,给每个元素添加了一个文字内容,内容包含了元素的索引号。

2. filter() 方法

filter() 方法用于从匹配的元素集合中筛选出符合条件的元素,返回一个新的集合。

<!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>JQuery filter() 方法示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */.item {margin: 5px;padding: 10px;border: 1px solid #ddd;}.highlight {background-color: yellow;}</style><script>$(document).ready(function() {// 选取所有具有 item 类的元素,并筛选出具有 highlight 类的元素$(".item").filter(".highlight").text("这是被筛选出来的元素");});</script>
</head>
<body><!-- 具有 item 类的元素 --><div class="item"></div><!-- 具有 item 类和 highlight 类的元素 --><div class="item highlight"></div><!-- 具有 item 类的元素 --><div class="item"></div>
</body>
</html>

在这个例子中,.item 是一个类选择器,选取了页面中所有具有 item 类的元素。通过 filter() 方法,筛选出了具有 highlight 类的元素,然后给这些元素添加了一个文字内容。

3. find() 方法

find() 方法用于查找匹配元素集合中每个元素的后代元素,返回一个新的集合。

<!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>JQuery find() 方法示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */.parent {margin: 5px;padding: 10px;border: 1px solid #ddd;}.child {background-color: #f0f0f0;}</style><script>$(document).ready(function() {// 选取所有具有 parent 类的元素,并查找它们的子元素$(".parent").find(".child").text("这是子元素");});</script>
</head>
<body><!-- 具有 parent 类的元素 --><div class="parent"><!-- 具有 child 类的子元素 --><div class="child"></div></div><!-- 具有 parent 类的元素 --><div class="parent"><!-- 具有 child 类的子元素 --><div class="child"></div></div><!-- 具有 parent 类的元素 --><div class="parent"><!-- 具有 child 类的子元素 --><div class="child"></div></div>
</body>
</html>

在这个例子中,.parent 是一个类选择器,选取了页面中所有具有 parent 类的元素。通过 find() 方法,查找了这些元素的子元素,具有 child 类的子元素,然后给这些子元素添加了一个文字内容。

4. first()last() 方法

first()last() 方法用于分别选择匹配元素集合中的第一个和最后一个元素。

<!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>JQuery first() 和 last() 方法示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */.item {margin: 5px;padding: 10px;border: 1px solid #ddd;}</style><script>$(document).ready(function() {// 选取所有具有 item 类的元素,并选择它们的第一个和最后一个元素$(".item").first().text("这是第一个元素");$(".item").last().text("这是最后一个元素");});</script>
</head>
<body><!-- 具有 item 类的元素 --><div class="item"></div><div class="item"></div><div class="item"></div>
</body>
</html>

在这个例子中,.item 是一个类选择器,选取了页面中所有具有 item 类的元素。通过 first() 方法选择了这些元素的第一个元素,并给它添加了一个文字内容;通过 last() 方法选择了这些元素的最后一个元素,并给它添加了一个不同的文字内容。

复杂的遍历

有时候,我们需要进行更复杂的遍历,涉及到父元素、兄弟元素等。下面,我们将介绍一些涉及到多层级遍历的方法。

1. parent() 方法

parent() 方法用于获得匹配元素集合中每个元素的父元素,返回一个新的集合。

<!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>JQuery parent() 方法示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */.child {margin: 5px;padding: 10px;border: 1px solid #ddd;}.parent {background-color: #f0f0f0;}</style><script>$(document).ready(function() {// 选取所有具有 child 类的元素,并获取它们的父元素$(".child").parent().addClass("parent").text("这是父元素");});</script>
</head>
<body><!-- 具有 child 类的元素 --><div class="child"></div><!-- 具有 child 类的元素 --><div class="child"></div><!-- 具有 child 类的元素 --><div class="child"></div>
</body>
</html>

在这个例子中,.child 是一个类选择器,选取了页面中所有具有 child 类的元素。通过 parent() 方法,获取了这些元素的父元素,并给父元素添加了一个类名和文字内容。

2. siblings() 方法

siblings() 方法用于获取匹配元素集合中每个元素的兄弟元素,返回一个新的集合。

<!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>JQuery siblings() 方法示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */.item {margin: 5px;padding: 10px;border: 1px solid #ddd;}.highlight {background-color: yellow;}</style><script>$(document).ready(function() {// 选取具有 item 类的元素,并获取它们的兄弟元素$(".item").siblings().addClass("highlight").text("这是兄弟元素");});</script>
</head>
<body><!-- 具有 item 类的元素 --><div class="item"></div><!-- 具有 item 类的元素 --><div class="item"></div><!-- 具有 item 类的元素 --><div class="item"></div>
</body>
</html>

在这个例子中,.item 是一个类选择器,选取了页面中所有具有 item 类的元素。通过 siblings() 方法,获取了这些元素的兄弟元素,并给兄弟元素添加了一个类名和文字内容。

遍历的艺术

JQuery 的遍历方法就像艺术家的画笔,让你能够在页面上自由地漫游,发现元素的美丽和奥秘。通过简单而强大的选择器和遍历方法,你可以轻松地定位、修改和操作页面上的任何元素。

3. children() 方法

children() 方法用于获取匹配元素集合中每个元素的子元素,返回一个新的集合。

<!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>JQuery children() 方法示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */.parent {margin: 5px;padding: 10px;border: 1px solid #ddd;}.child {background-color: #f0f0f0;}</style><script>$(document).ready(function() {// 选取具有 parent 类的元素,并获取它们的子元素$(".parent").children().addClass("child").text("这是子元素");});</script>
</head>
<body><!-- 具有 parent 类的元素 --><div class="parent"><!-- 子元素 --><div></div><!-- 子元素 --><div></div><!-- 子元素 --><div></div></div><!-- 具有 parent 类的元素 --><div class="parent"><!-- 子元素 --><div></div><!-- 子元素 --><div></div><!-- 子元素 --><div></div></div>
</body>
</html>

在这个例子中,.parent 是一个类选择器,选取了页面中所有具有 parent 类的元素。通过 children() 方法,获取了这些元素的子元素,并给子元素添加了一个类名和文字内容。

4. prev()next() 方法

prev()next() 方法分别用于选择匹配元素集合中每个元素的前一个兄弟元素和后一个兄弟元素。

<!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>JQuery prev() 和 next() 方法示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script><style>/* 添加一些样式,让页面更有趣 */.item {margin: 5px;padding: 10px;border: 1px solid #ddd;}.highlight {background-color: yellow;}</style><script>$(document).ready(function() {// 选取具有 item 类的元素,并选择它们的前一个和后一个兄弟元素$(".item").prev().addClass("highlight").text("这是前一个兄弟元素");$(".item").next().addClass("highlight").text("这是后一个兄弟元素");});</script>
</head>
<body><!-- 具有 item 类的元素 --><div class="item"></div><!-- 具有 item 类的元素 --><div class="item"></div><!-- 具有 item 类的元素 --><div class="item"></div>
</body>
</html>

在这个例子中,.item 是一个类选择器,选取了页面中所有具有 item 类的元素。通过 prev() 方法选择了这些元素的前一个兄弟元素,并通过 next() 方法选择了这些元素的后一个兄弟元素,然后给它们添加了一个类名和文字内容。

5. closest() 方法

closest() 方法用于获取匹配元素集合中每个元素的祖先元素,从当前元素开始沿 DOM 树向上遍历,返回最先匹配给定选择器的祖先元素。

<!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>JQuery closest() 方法示例</title><script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<style>/* 添加一些样式,让页面更有趣 */.child {margin: 5px;padding: 10px;border: 1px solid #ddd;}.parent {background-color: #f0f0f0;}</style><script>$(document).ready(function() {// 选取具有 child 类的元素,并获取它们的最近的具有 parent 类的祖先元素$(".child").closest(".parent").addClass("highlight").text("这是最近的祖先元素");});</script>
</head>
<body><!-- 具有 parent 类的元素 --><div class="parent"><!-- 具有 child 类的元素 --><div class="child"></div><!-- 具有 child 类的元素 --><div class="child"></div><!-- 具有 child 类的元素 --><div class="child"></div></div>
</body>
</html>

在这个例子中,.child 是一个类选择器,选取了页面中所有具有 child 类的元素。通过 closest(".parent") 方法,获取了这些元素最近的具有 parent 类的祖先元素,并给这个祖先元素添加了一个类名和文字内容。

总结

通过本文的介绍,你已经对 JQuery 的遍历方法有了一个深入的了解。从基础的选择器到各种强大的遍历方法,你可以根据需要轻松地操作页面上的元素,实现丰富的交互效果。记住,JQuery 的力量在于它的简洁和灵活,让前端开发变得更加愉快和高效。

无论是 each() 方法的循环,还是 find() 方法的查找,每一个遍历方法都是你在前端探险中的得力助手。愿你在遍历元素的旅程中,发现更多有趣的功能和技巧,成为一位真正的前端大师。

愿你的代码如画笔一般,精妙而流畅,为用户带来愉悦的体验。继续探索,不断学习,让你的前端之路越走越宽广。前方还有更多的元素等待你的发现,一起加油吧!

作者信息

作者 : 繁依Fanyi
CSDN: https://techfanyi.blog.csdn.net
掘金:https://juejin.cn/user/4154386571867191

相关文章:

【Java 进阶篇】JQuery 遍历:发现元素的魔法之旅

欢迎来到 JQuery 的奇妙世界&#xff0c;一个充满活力和灵感的地方。在这个世界里&#xff0c;我们将一起探讨 JQuery 的遍历功能&#xff0c;这是一个让你轻松发现和操作网页元素的神奇工具。无需太多前端经验&#xff0c;只要有一颗探险的心&#xff0c;你就能在 JQuery 遍历…...

合肥数字孪生赋能工业制造,加速推进制造业数字化转型

聚焦国家战略需求和先进制造业发展方向&#xff0c;加快数字化发展战略部署&#xff0c;数字孪生、工业互联网、工业物联网已被广泛认为是工业革命的新引擎。合肥数字孪生正在推动工业制造从制造转向智造。通过数字化建模和仿真的方式&#xff0c;优化设计、生产、质量管理、供…...

Linux发展史与环境安装

Linux发展史与环境安装 一、Linux发展史推动技术进步的基本模式理解操作系统的发展理解Linux操作系统的发展 一、Linux的环境安装 一、Linux发展史 Linux和window XX其实都是一样的&#xff0c;定位&#xff1a;操作系统&#xff0c;企业内部&#xff0c;要给用户提供“互联网…...

【uniapp】 video视频层级、遮挡其他弹窗或顶部导航 使用nvue覆盖

uniapp 顶部导航和弹窗被video遮挡解决办法 第一步&#xff1a;配置 subNVues {"path": "pages/index/index","style": {"navigationBarTitleText": "uni-app","navigationStyle": "custom","app-…...

opencv(1):创建和显示窗口, 读取保存图片

下载源码&#xff0c;方便查看 API 信息。 快速在源码文件夹中搜索相关 api. grep“namedWindow(*-Rn// 限定 .h 文件 grep“namedWindow(*-Rn|grep "\.h" vscode 语法检测有问题 一直有波浪线 打开 vscode, setting 界面&#xff0c;搜索 python 在 setting.json…...

LeetCode530. Minimum Absolute Difference in BST

文章目录 一、题目二、题解 一、题目 Given the root of a Binary Search Tree (BST), return the minimum absolute difference between the values of any two different nodes in the tree. Example 1: Input: root [4,2,6,1,3] Output: 1 Example 2: Input: root [1,…...

Flink(五)【DataStream 转换算子(上)】

前言 这节注定是一个大的章节&#xff0c;我预估一下得两三天&#xff0c;涉及到的一些东西不懂就重新学&#xff0c;比如 Lambda 表达式&#xff0c;我只知道 Scala 中很方便&#xff0c;但在 Java 中有点发怵了&#xff1b;一个接口能不能 new 来构造对象? 答案是可以的&…...

【vitis】 AIE basic

AIE vs AIE-ML versal 期间分类 文件 操作 vitis -new -w . 安装...

微信抽奖活动怎么做

微信抽奖活动&#xff1a;打破传统&#xff0c;创新互动&#xff0c;带给你超乎想象的惊喜体验&#xff01; 随着互联网的飞速发展&#xff0c;人们越来越热衷于参与各种线上活动。而微信&#xff0c;作为中国最大的社交平台之一&#xff0c;自然成为了各种活动的聚集地。今天…...

装机必备!这5款免费软件,你值得拥有!

​ 目前win7渐渐退出视野&#xff0c;大部分人都开始使用win10了&#xff0c;笔者在日常的工作和使用中&#xff0c;为了能够让效率的大提升&#xff0c;下载了不少软件&#xff0c;以下的软件都是个人认为装机必备&#xff0c;而且都是可以免费下载。 1.屏幕亮度调节——Twin…...

华为eNSP综合实验考试

VLAN信息表 设备名称 端口 链路类型 VLAN 参数 HZ-HZCampus-Agg01-S5731 GE0/0/1 Trunk PVID:1 Allow-pass&#xff1a;10 20 Eth-trunk1&#xff08;GE0/0/2,0/0/3,0/0/23&#xff09; Trunk PVID:1 Allow-pass&#xff1a;10 20 GE0/0/24 Access PVID&#xf…...

OPPO Watch纯手机开启远程ADB调试

Wear OS手表中&#xff0c;我们可以直接在开发者设置中打开WiFi调试。但是这在OPPO等魔改Android系统中不再奏效。 需要什么&#xff1f;&#xff1f; 手表一台手机一个OTG转接头一个手表充电器一个 演示设备 手机&#xff1a; OPPO Find X手表&#xff1a; OPPO Watch 1代 …...

idea查看UML类图

idea查看UML类图 一、如何查看UML类图 1.1 选择需要查看的类或者包&#xff0c;鼠标右键&#xff0c;选择Diagrams->Show Diagram 1.2 对于UML类图中的包&#xff0c;选中后点击鼠标右键-> Expand Nodes(展开节点) 展开前 展开后 1.3 展开后分布比较凌乱&#xff…...

2736. 最大和查询 : 从一维限制到二维限制,逐步思考剖析本题(进阶一问)

题目描述 这是 LeetCode 上的 「2736. 最大和查询」 &#xff0c;难度为 「困难」。 Tag : 「排序」、「离散化」、「树状数组」 给你两个长度为 n、下标从 0 开始的整数数组 nums1 和 nums2&#xff0c;另给你一个下标从 1 开始的二维数组 queries&#xff0c;其中 。 对于第…...

2023数维杯国际数学建模A题B题C题D题思路+模型+代码+完整论文

目录 1.数维杯各题思路模型&#xff1a;比赛开始后&#xff0c;第一时间更新&#xff0c;获取见文末名片 3 常见数模问题常见模型分类 3.1 分类问题 3.2 优化问题 详细思路见此名片&#xff0c;开赛第一时间更新 1.数维杯各题思路模型&#xff1a;9.7晚上比赛开始后&#x…...

java多个jar包编译生成.class文件

有时候需要通过多个jar包让java文件生成 .class字节码文件&#xff0c;这里主要记录一下格式问题 javac -cp a.jar;b.jar a.java...

小米手环8pro重新和手机配对解决办法

如果更换了手机&#xff0c;那么小米手环8pro是无法和新手机自动连接的。 但是在新手机上直接连接又连接不上&#xff0c;搜索蓝牙根本找不到手环的蓝牙。 解决办法就是&#xff1a; 把手环恢复出厂&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 是的&…...

element-china-area-data插件vue3做省市区的下拉选择,用3个独立的el-select实现

第1版&#xff0c;选择下拉没有优化 第2版&#xff0c;选择下拉时&#xff0c;做了优化...

盘点十大免费低/无代码开发软件,数字化转型看这里

在数字化日益普及的当下&#xff0c;低代码开发技术逐渐受到大众的追捧。这种技术让缺乏编程经验的大众也能轻松创建应用程序和网站。通过直观的图形界面和拖拽功能&#xff0c;用户可以无需编写任何代码&#xff0c;轻松实现自己的开发需求。本文将为您介绍十大免费的低代码开…...

【word密码】word设置只读方式的四个方法

想要将word文档设置为只读模式&#xff0c;方法有很多&#xff0c;今天小奥超人介绍几个方法给大家。 方法一&#xff1a;文件属性 常见的、简单的设置方法&#xff0c;不用打开word文件&#xff0c;只需要右键选择文件&#xff0c;打开文件属性&#xff0c;勾选上【只读】选…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘&#xff1a;1块 (1T) U盘1&#xff1a;Ubuntu系统引导盘&#xff08;用于“U盘2”复制到“电脑自带硬盘”&#xff09; U盘2&#xff1a;Ubuntu系统盘&#xff08;1T&#xff0c;用于被复制&#xff09; &#xff01;&#xff01;&#xff01;建议“电脑…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

快速排序算法改进:随机快排-荷兰国旗划分详解

随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...

边缘计算网关提升水产养殖尾水处理的远程运维效率

一、项目背景 随着水产养殖行业的快速发展&#xff0c;养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下&#xff0c;而且难以实现精准监控和管理。为了提升尾水处理的效果和效率&#xff0c;同时降低人力成本&#xff0c;某大型水产养殖企业决定…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候&#xff0c;显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...