新闻中心

使用 J*aScript 根据属性值查找元素并修改其类名

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

使用 JavaScript 根据属性值查找元素并修改其类名

本文档将详细介绍如何使用 j*ascript 查找具有特定属性值的 html 元素,并动态修改其 css 类名。我们将通过一个实际示例,演示如何根据按钮点击事件获取的 id 值,在下拉菜单中找到对应的 `dropdown-item` 元素,并将其类名更改为 `dropdown-item active`,从而实现选中效果。

在 Web 开发中,经常需要根据用户的交互行为,动态地修改 HTML 元素的样式。其中一种常见的场景是,根据用户的选择,高亮显示列表中的某个选项。本文将介绍如何使用 J*aScript 实现这一功能。

核心思路

  1. 获取目标元素: 使用 document.querySelector() 方法,根据属性选择器找到具有特定 data-dselect-value 属性值的元素。
  2. 修改类名: 使用 classList.add() 方法,为目标元素添加 active 类名。

详细步骤

假设我们有如下 HTML 结构:

立即学习“J*a免费学习笔记(深入)”;

<div class="dropdown-menu">
  <div class="d-flex flex-column">
    <input onkeydown="return event.key !== 'Enter'" onkeyup="dselectSearch(event, this, 'dselect-wrapper', 'form-select', false)" type="text" class="form-control" placeholder="Search" autofocus="">
    <div class="dselect-items" style="max-height:360px;overflow:auto">
      <button class="dropdown-item active" data-dselect-value="1109" type="button" onclick="dselectUpdate(this, 'dselect-wrapper', 'form-select')">Charles</button>
      <button class="dropdown-item" data-dselect-value="1108" type="button" onclick="dselectUpdate(this, 'dselect-wrapper', 'form-select')">Fred</button>
      <button class="dropdown-item" data-dselect-value="1107" type="button" onclick="dselectUpdate(this, 'dselect-wrapper', 'form-select')">Lionel</button>
      <button class="dropdown-item" data-dselect-value="1106" type="button" onclick="dselectUpdate(this, 'dselect-wrapper', 'form-select')">Robert</button>
      <button class="dropdown-item" data-dselect-value="1105" type="button" onclick="dselectUpdate(this, 'dselect-wrapper', 'form-select')">Mike</button>
    </div>
    <div class="dselect-no-results d-none">No results found</div>
  </div>
</div>

<button onclick="myFunc(this.id)"  id="1106">Select client</button>

我们的目标是,当点击某个按钮时,根据按钮的 id 值,找到 data-dselect-value 属性值与之匹配的 dropdown-item 元素,并将其类名修改为 dropdown-item active。

以下是 J*aScript 代码:

Kreado AI Kreado AI

Kreado AI是一个多语言AI视频创作平台,只需输入文本或关键词,即可创作真实/虚拟人物的多语言口播视频。 为创作者提供AI赋能

Kreado AI 182 查看详情 Kreado AI
function myFunc(clicked_id){
    var elem = document.querySelector('[data-dselect-value="'+clicked_id+'"]');
    elem.classList.add('active');
};

代码解释

  • myFunc(clicked_id): 这是一个函数,它接受一个参数 clicked_id,该参数表示被点击按钮的 id 值。
  • document.querySelector('[data-dselect-value="'+clicked_id+'"]'): 这行代码使用 document.querySelector() 方法来查找具有特定 data-dselect-value 属性值的元素。
    • [data-dselect-value="'+clicked_id+'"]: 这是一个属性选择器,它选择 data-dselect-value 属性值等于 clicked_id 的元素。
  • elem.classList.add('active'): 这行代码使用 classList.add() 方法,为找到的元素 elem 添加 active 类名。

注意事项

  • 确保 clicked_id 的值与 data-dselect-value 属性值的数据类型一致(例如,都是字符串)。
  • 如果页面上有多个具有相同 data-dselect-value 属性值的元素,document.querySelector() 方法只会返回第一个匹配的元素。如果需要选择所有匹配的元素,可以使用 document.querySelectorAll() 方法。
  • 可以根据实际需求,使用 classList.remove('active') 方法移除 active 类名,实现取消选中效果。

完整示例




修改类名示例





  
    
    
      
      
      
      
      
    
    No results found
  




<script>
function myFunc(clicked_id){
    var elem = document.querySelector('[data-dselect-value=&quot;'+clicked_id+'&quot;]');
    elem.classList.add('active');
};

function selectClient(clientId){
  //Remove active class from all dropdown items
  document.querySelectorAll('.dropdown-item').forEach(item => item.classList.remove('active'));
  //Add active class to the selected item
  document.querySelector('[data-dselect-value="'+clientId.split('-')[1]+'"]').classList.add('active');
}
</script>


总结

本文介绍了如何使用 J*aScript 查找具有特定属性值的 HTML 元素,并动态修改其 CSS 类名。通过 document.querySelector() 方法和 classList.add() 方法,可以轻松实现根据用户交互行为,动态改变页面元素样式的效果。在实际开发中,可以根据具体需求,灵活运用这些方法,实现更加丰富的用户体验。

以上就是使用 J*aScript 根据属性值查找元素并修改其类名的详细内容,更多请关注其它相关文章!


# 这行  # 互点seo软件分类  # 长沙seo思维  # 马山网站优化公司  # 怎么优化法律网站  # 江口县推广网站有哪些  # 衢州外文网站推广怎么样  # 宜昌网站推广排名报价  # 网络营销推广版怎么做  # 泰州网站建设的重要步骤  # 五大连池网络营销推广  # 这是  # 是一个  # 都是  # 多语言  # css  # 拖放  # 可以根据  # 如何使用  # 选择器  # 关键词  # red  # overflow  # 属性选择器  # 点击事件  # ssl  # app  # html  # java  # javascript 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: Go语言HTML解析:利用Goquery精准获取指定元素内容  在哪找SublimeJ远程工具_SFTP插件配置教程  vivo浏览器自带的下载器速度慢怎么办 vivo浏览器提升文件下载速度的技巧  J*aScriptWebpack优化_J*aScript构建工具实战  虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作  PySpark中高效提取字符串右侧可变长度数字:使用regexp_extract  深入理解J*aScript Promise异步执行与微任务队列  C#如何安全地从用户上传的XML文件中读取数据? 验证与清理策略  漫蛙2漫画入口 漫蛙正版网页漫画直达网址  解决 Vaadin 8 中大文件音频播放与定位时出现的 IOException  解决Python logging 中 datefmt 导致时间戳固定不变的问题  凉拌黄瓜怎么拌更入味 凉拌黄瓜简单家常做法  中兴Axon42Ultra怎样在文件App筛图_iPhone中兴Axon42Ultra文件App筛图【图片筛选】  打开就能玩的植物大战僵尸 植物大战僵尸网页版传送门  TypeScript/J*aScript:高效查找数组中首个唯一ID对象  J*a中实现Go语言select通道多路复用机制  文心一言怎样用插件调度API数据_文心一言用插件调度API数据【API调用】  初次安装JDK时环境变量如何正确配置_J*A_HOME与PATH设置规则讲解  押井守高度称赞《辐射4》:玩了八年都停不下来!  在J*a中如何使用Exception包装底层异常_异常包装与信息传递方法说明  照顾宝贝2小游戏免费秒玩入口  Lar*el头像管理:图片缩放与旧文件删除的最佳实践  sublime如何配置Python开发环境_将sublime打造成轻量级Python IDE  Golang如何使用new_Go new分配内存机制讲解  怎么在浏览器上运行HTML文件_浏览器运行HTML文件技巧【技巧】  MongoDB聚合管道:正确匹配对象数组中_id的方法  浏览器打开即用 美图秀秀网页版入口  Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖  Golang如何测试channel通信行为_Golang channel通信测试与分析方法  在J*a项目里如何构建对象之间的契约_接口约束的实际落地  如何使用Rector自动化升级旧代码_通过Composer安装和配置Rector进行代码重构  动漫共和国防屏蔽稳定域名-动漫共和国官方正版直达通道  铁路12306的积分有效期是多久_铁路12306积分有效期说明  创客贴用户入口官网登录 创客贴网页版电脑版系统  荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程  Win11怎么开启省电模式_Win11电池节电模式自动开启  Windows 11怎么彻底关闭定位_Windows 11服务中禁用Geolocation  Go语言中对Map值调用带指针接收者方法:原理与最佳实践  12306选座系统怎么选连座_12306选座多人连坐操作方法  纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析  电脑IP地址怎么查 查看本机IP地址的几种方法  C++如何操作注册表_Windows平台下C++读写注册表的API函数详解  Go RPC HTTP服务正确实现与常见陷阱解析  Win11怎么用U盘重装系统 Win11制作启动盘并重装系统完整教程【详解】  Centos/Linux 系统下安装 composer 的完整步骤  QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口  sublime怎么格式化代码_sublime代码美化与一键排版插件配置  win11如何加载ICC颜色配置文件 Win11校色文件安装与显示器色彩管理【指南】  ACG动漫手机版官网入口 手机ACG动漫APP在线观看正版  12306选座怎么选到临时改签座_12306改签选座策略与步骤 

搜索