新闻中心
使用 J*aScript 通过 ID 匹配不同父元素中的元素(鼠标悬停时)

本文介绍如何使用 J*aScript 实现当鼠标悬停在一个 `div.first` 中的 `li` 元素上时,为 `div.second` 中具有相同 ID 的 `li` 元素添加 `.active` 类。该方案适用于 ID 动态生成且事先未知的情况,并提供详细的 J*aScript 代码示例和 CSS 样式,方便读者理解和应用。
在 Web 开发中,有时我们需要实现一种交互效果:当鼠标悬停在一个区域的元素上时,另一个区域的对应元素也发生变化。本文将介绍如何使用 J*aScript 实现这一功能,具体来说,当鼠标悬停在一个 div.first 中的 li 元素上时,为 div.second 中具有相同 ID 的 li 元素添加 .active 类。
实现原理
核心思想是利用 J*aScript 监听 div.first 中所有 li 元素的 mouseover 和 mouseout 事件。当 mouseover 事件触发时,获取当前 li 元素的 ID,然后在 div.second 中查找具有相同 ID 的 li 元素,并添加 .active 类。当 mouseout 事件触发时,移除 .active 类。
代码实现
以下是完整的 J*aScript 代码实现:
document.querySelectorAll(".first ul li").forEach(li => {
li.addEventListener("mouseover", e => {
document.querySelectorAll(`#${e.target.id}`)[1].classList.add("active");
});
li.addEventListener("mouseout", e => {
document.querySelectorAll(`#${e.target.id}`)[1].classList.remove("active");
});
});这段代码首先使用 querySelectorAll 方法获取所有位于 .first 类下的 ul 元素中的 li 元素。然后,使用 forEach 方法遍历这些 li 元素,并为每个元素添加 mouseover 和 mouseout 事件监听器。
在 mouseover 事件监听器中,e.target.id 获取当前鼠标悬停的 li 元素的 ID。然后,使用 querySelectorAll(#${e.target.id}) 查找具有相同 ID 的所有元素。由于我们需要操作的是 div.second 中的元素,因此我们使用 [1] 来获取第二个匹配的元素(第一个匹配的元素是 div.first 中的 li 元素本身)。最后,使用 classList.add("active") 为该元素添加 .active 类。
察言观数AskTable
企业级AI数据表格智能体平台
78
查看详情
mouseout 事件监听器中的逻辑类似,只是将 classList.add("active") 替换为 classList.remove("active"),用于移除 .active 类。
HTML 结构
以下是 HTML 结构示例:
<div class="first">
<ul>
<li id="one">Lorem</li>
<li id="two">Ipsum</li>
<li id="three">Dolor</li>
</ul>
</div>
<div class="second">
<ul>
<li id="one">Lorem</li>
<li id="two">Ipsum</li>
<li id="three">Dolor</li>
</ul>
</div>CSS 样式
为了使 .active 类生效,我们需要定义相应的 CSS 样式:
.active {
background: #CCC;
}这段 CSS 代码会将具有 .active 类的元素的背景色设置为灰色。
注意事项
- ID 唯一性: 此方法依赖于 ID 的唯一性。确保页面上所有 li 元素的 ID 都是唯一的,否则可能会导致意外的结果。
- 性能优化: 如果页面上有大量的 li 元素,频繁的 querySelectorAll 操作可能会影响性能。可以考虑使用事件委托等技术进行优化。
- 适用场景: 此方法适用于 ID 动态生成且事先未知的情况。如果 ID 是静态的,可以使用 CSS :hover 伪类和相邻兄弟选择器等方法来实现类似的效果,性能更高。
总结
本文介绍了如何使用 J*aScript 实现当鼠标悬停在一个 div.first 中的 li 元素上时,为 div.second 中具有相同 ID 的 li 元素添加 .active 类。该方案适用于 ID 动态生成且事先未知的情况,并提供了详细的代码示例和注意事项。希望本文能够帮助读者更好地理解和应用 J*aScript 技术。
以上就是使用 J*aScript 通过 ID 匹配不同父元素中的元素(鼠标悬停时)的详细内容,更多请关注其它相关文章!
# 这段
# 常平品牌营销推广
# 黄山seo整站优化软件
# 策划会展网站建设
# 万宁公司网站推广报价
# 怎么推广营销活动
# 关键词排名提升
# 遵义抖音seo能行吗
# 网络优化网站降权
# 番禺网站建设路烤肉
# 齐齐哈尔免费网站建设
# 移除
# 选择器
# css
# 单选框
# 如何使用
# 当鼠标
# 适用于
# 上时
# 表单
# 鼠标
# ssl
# seo
# html
# java
# javascript
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】
Python getattr() 异常处理深度解析:避免程序意外退出
DLsite中文平台入口 DLsite官网内容在线查看
如何有效阻止外部脚本意外修改内联样式的高度属性
C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图
Mac怎么查看崩溃日志_Mac控制台错误报告分析
12306几点到几点不能订票? | 官方最新系统维护时间全解析
MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略
vivo手机参数配置怎么增强信号_vivo手机参数配置信号增强方法
夸克浏览器图书入口 夸克手机浏览器阅读入口
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
J*a里如何使用forEach遍历Map_Map遍历方法说明
如何设置Windows Defender的定时扫描_计划任务实现自动杀毒【安全】
J*a递归快速排序中静态变量导致数据累积的陷阱与解决方案
MongoDB聚合管道:正确匹配对象数组中_id的方法
写好的html代码怎么运行出来_运行写好的html代码方法【教程】
一加手机拍照效果不好怎么办 一加哈苏影像调校与专业模式使用教程【高手篇】
Go语言中Map存储的结构体如何调用指针方法:深入解析与实践
如何在CSS中使用浮动制作导航栏_float实现水平菜单
机构:以往存储涨价周期小米利润率实际上有所改善 能转嫁给消费者等
Safari浏览器输入栏卡顿如何解决 Safari搜索建议与缓存清理
React/Next.js中实现列表项的动态选择与移动
Win11怎么关闭快速启动_Win11彻底关机设置教程
《北京人工智能产业白皮书(2025)》发布:全年核心产值预计突破 4500 亿元
Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】
win11 Snap Layouts怎么用 Win11窗口布局与分屏多任务高效指南【必学】
夸克AO3官网入口_AO3镜像网站2025推荐
谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作
React Router 嵌套组件中 URL 重定向问题的解决方案
高德地图总提示网络异常怎么办 高德地图离线导航设置与网络排查方法
《主播少女的秘密账号迷宫》首支宣传片
Yandex浏览器官方网页版入口 Yandex浏览器最新版官网
J*aScript设计模式实践_j*ascript代码优化
Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】
J*a最大堆Heapify方法修复:索引计算与边界条件深度解析
拼多多购物车商品数量无法修改如何处理 拼多多购物车操作优化方法
如何更改在 Excel 中打开超链接时的默认浏览器
CSS实现侧边栏导航项全宽圆角悬停背景效果
如何在J*a中实现统一对象行为接口_项目大型化时的接口规范化
C++如何进行游戏物理模拟_使用Box2D库为C++游戏添加2D物理效果
163邮箱注册官网 免费申请163个人邮箱
抖音怎么赚钱_抖音创作者变现方法与途径指南
服务端验证_j*ascript输入检查
Golang如何测试channel通信行为_Golang channel通信测试与分析方法
qq游戏网页版直接玩_qq游戏免下载快速入口
Go语言HTML解析:利用Goquery精准获取指定元素内容
CSS子选择器:如何区分并样式化嵌套列表的子层级
汽水音乐在线版入口_汽水音乐网页播放手册
2026春节假期票务安排_2026春节放假购票指南
必由学在线入口 必由学网页版快速登录入口


2025-10-18
浏览次数:次
返回列表