当前位置:首页 > 文章列表 > 文章 > 前端 > 获取HTML自定义数据属性的JS方法教程

获取HTML自定义数据属性的JS方法教程

2025-10-09 16:57:36 0浏览 收藏

还在为如何在JavaScript中获取HTML元素的自定义数据属性而烦恼吗?本文为你提供详尽的JS教程,聚焦于`data-*`属性的获取。我们将深入探讨两种核心方法:通用的`getAttribute()`函数和专为`data-*`属性设计的`dataset`属性。通过代码示例和对比分析,让你清晰了解它们的语法、特点以及适用场景。无论你需要获取`data-id`等自定义属性,还是处理动态生成的属性值,本文都能帮助你选择最合适的方案,编写出更高效、更易维护的JavaScript代码。掌握这些技巧,轻松应对Web开发中数据获取的挑战,提升你的前端开发技能!立即学习,让你的代码更简洁、更具可读性!

从HTML元素中获取自定义数据属性(data-)的JavaScript教程

本教程详细阐述了如何在JavaScript中,特别是通过事件处理函数,高效地从HTML元素中获取自定义数据属性(如data-id)。文章将介绍两种核心方法:通用的getAttribute()函数和专为data-*属性设计的dataset`属性,并通过代码示例和对比分析,帮助开发者选择最合适的方案。

场景描述:从HTML元素获取自定义数据

在Web开发中,我们经常需要将一些额外的数据附加到HTML元素上,以便在JavaScript中进行处理。HTML5引入的data-*自定义数据属性为此提供了一种标准且语义化的方式。例如,你可能有一个动态生成的下拉菜单,每个选项都关联一个唯一的data-id,当用户选择某个选项时,你需要获取这个data-id进行后续操作。

考虑以下HTML

当此下拉菜单的值发生变化时,onchange="sendInfo(this)" 会触发 sendInfo JavaScript 函数,并将当前触发事件的元素(即 元素 console.log("选中的值:", e.value); // 使用 getAttribute() 获取 data-id const dataId = e.getAttribute('data-id'); console.log("获取到的 data-id (使用 getAttribute):", dataId); }

特点:

  • 通用性强: 可以获取任何HTML属性的值。
  • 直接: 通过属性的完整字符串名称来访问。

方法二:使用 dataset 属性获取 data-* 值

HTMLElement.dataset 属性提供了一种更简洁、更语义化的方式来访问元素的 data-* 属性。它返回一个 DOMStringMap 对象,其中包含了元素上所有 data-* 属性的键值对。使用 dataset 时,data- 前缀会被省略,并且如果属性名中包含连字符,它会自动转换为驼峰命名法。

语法:element.dataset.keyName

其中 keyName 是 data-* 属性名中 data- 之后的部分,并转换为驼峰命名。例如,data-id 对应 dataset.id,data-user-name 对应 dataset.userName。

示例代码:

function sendInfo(e) {
  // e 是触发事件的 
                                
登录即同意 用户协议隐私政策
返回登录
  • 重置密码