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


使用 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 结构:

<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 代码:

即梦AI 即梦AI

一站式AI创作平台,免费AI图片和视频生成。

即梦AI 16094 查看详情 即梦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 外包代运营  # 长沙网站优化培训多少钱  # 攀枝花网站搜索优化公司  # 推广网站速来火5星  # 如何优化网站的关键字  # 滁州网站建设哪家比较好  # 推广营销规划ppt软件  # 网站优化前怎么选关键词  # 浑南区品牌网站建设推广  # 这是  # 都是  # 这行  # 自适应  # css  # 网页设计  # 可以根据  # 双击  # 如何使用  # 选择器  # red  # overflow  # 属性选择器  # 点击事件  # ssl  # app  # html  # java  # javascript 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: C++ cast类型转换总结_C++ reinterpret_cast与const_cast的使用  海棠阅读登录教程_详细讲解海棠登录操作  Dash应用多值文本输入处理与类型转换教程  路由器DNS怎么设置最快 优化DNS提升上网速度教程  《理想汽车》权限管理设置方法  Win11如何分屏操作_Win11多窗口分屏技巧  win11怎么设置默认终端为Windows Terminal Win11替代CMD和PowerShell【技巧】  我的世界游戏平台入口 我的世界官方官网直达链接  菜鸟驿站的取件码忘了怎么办 手机快速查询指南  天天漫画2025最新入口 天天漫画永久有效登录入口  谷歌邮箱官方入口链接 谷歌邮箱网页版电脑端快速登录  win11怎么更改账户类型 Win11标准用户和管理员权限切换【教程】  视频转蓝光m2ts格式  Animex动漫社正版在线入口 Animex动漫社动漫官方观看网  如何查询国外邮政编码_国外邮政编码查询的多种有效途径  教育查询官方网站入口 教育个人档案查询免费官网  126邮箱网页在线登录2025_126邮箱网页版入口官方地址  使用CSS :has() 选择器实现父元素样式控制:从子元素反向应用样式  Flexbox布局:实现粘性导航与底部页脚的完美结合  优化响应式标题底部边框:CSS实现技巧与最佳实践  极兔快递官网查询入口手机版 手机极兔快递登录查询入口官方  C++ static关键字作用_C++静态成员变量与静态函数  怎样设置开机后自动运行某个程序_Windows启动文件夹与任务计划【自动化】  《合金装备4》有望推出重制版!制作人发话了  PHP中动态类名访问的类实例类型提示与静态分析实践  在VS Code中利用AI辅助进行代码迁移  PointNet++语义分割模型中类别变更引发的断言错误及标签处理策略  智慧职教mooc平台登录网址 智慧职教mooc官网直达  电脑的“恢复环境(WinRE)”找不到怎么办_Windows系统恢复环境重建【高级修复】  漫蛙漫画直连入口 _ manwa官方备用入口实时检测  中通快递官网指定查询 中通快递单号查询平台入口  解决CSS容器溢出问题:使用calc()实现精确布局与边距控制  j*a中赋值运算符是什么?  如何使用 Optional 类型并满足 Pylint 的类型检查  在Flask应用中安全高效地更新SQLAlchemy用户数据  歌词怎么展示在|直播|间视频号?有什么注意事项?  Linux如何优化系统启动流程_Linux启动项优化方案  Win10输入法不见了怎么办 Win10找回语言栏图标教程  126邮箱申请入口官网_126邮箱注册免费登录2025  Win11怎么开启HDR_Windows 11显示器画质增强设置  composer licenses 命令:如何检查项目依赖的许可证?  Final Cut Pro视频加EQ教程  PHP odbc_fetch_array 返回值处理:如何正确访问嵌套数组元素  《下一站江湖2》心法融合技巧  荣耀Magic6 Pro拍照成像偏暗_荣耀Magic6 Pro夜景优化  电脑没有声音了怎么办 电脑声音问题的全面排查与修复指南【详解】  mysql数据库索引类型有哪些_mysql索引类型解析  支付宝网页版在线入口 支付宝官网电脑登录入口  《爱笔思画x》魔棒工具抠图教程  MongoDB聚合管道:高效统计列表中各项的文档数量 

 2025-10-26

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.