没有jQuery的访问数据属性

在前端开发中,我们经常需要访问 HTML 元素的数据属性来获取或设置元素的一些状态或信息。使用 jQuery,可以方便地进行这些操作,但是如果你希望不依赖 jQuery,该怎么办呢?本文将介绍如何使用原生 JavaScript 访问 HTML 元素的数据属性。

什么是数据属性?

数据属性(Data Attributes)是 HTML5 中引入的一种自定义属性,以 "data-" 开头,并且可以存储任意字符串。例如:

---- ---------- --------------- -------------------

上面的代码中,data-info 就是一个数据属性,它的值为 "some information"

通过数据属性,我们可以把一些与元素相关联的信息存储在元素上,方便后续脚本操作时使用。

使用 getAttribute() 方法访问数据属性

要想使用 JavaScript 访问数据属性,最简单的方法就是使用 getAttribute() 方法。该方法接受一个参数,即要获取的属性名,返回该属性的值。

----- ----- - ---------------------------------
----- ---- - --------------------------------
------------------ -- -------- ------------

上面的代码中,我们首先通过 querySelector() 方法获取了 id"myDiv" 的元素,然后使用 getAttribute() 方法获取了它的 data-info 属性的值。结果会被输出到控制台上。

需要注意的是,getAttribute() 方法返回的始终是字符串类型,如果属性不存在,则返回 null

使用 dataset 属性访问数据属性

除了使用 getAttribute() 方法之外,还可以使用 dataset 属性来访问数据属性。该属性返回一个对象,包含了元素所有以 "data-" 开头的属性名和对应的属性值。

----- ----- - ---------------------------------
----- ---- - --------------
----------------------- -- -------- ------------

上面的代码中,我们使用 dataset 属性获取了 id"myDiv" 的元素的所有数据属性,并通过属性访问的方式获取了它的 data-info 属性的值。

需要注意的是,dataset 属性的属性名会自动转换成驼峰式命名,例如 data-info 转换为 info

使用 setAttribute() 方法修改数据属性

如果要修改元素的数据属性,可以使用 setAttribute() 方法。该方法接受两个参数,第一个参数为要设置的属性名,第二个参数为要设置的属性值。

----- ----- - ---------------------------------
------------------------------- ---- --------------
----- ------- - --------------------------------
--------------------- -- ------- ------------

上面的代码中,我们首先使用 querySelector() 方法获取了 id"myDiv" 的元素,然后使用 setAttribute() 方法将它的 data-info 属性值修改为了 "new information",最后使用 getAttribute() 方法获取修改后的属性值并输出。

总结

本文介绍了如何使用原生 JavaScript 访问 HTML 元素的数据属性。我们可以使用 getAttribute() 方法获取单个属性的值,使用 dataset 属性获取所有数据属性的键值对,使用 setAttribute() 方法修改数据属性的值。这些方法可以帮助我们在不依赖 jQuery 的情况下进行前端开发,提高代码的可维护性和灵活性。

示例代码:CodePen链接

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/15539


猜你喜欢

  • 我怎么能把推特引导弹出打开直到我的鼠标移动到它?

    在网站或应用程序中,引导弹出框是一种流行的功能,可用于吸引用户注意力并向他们提供更多信息。本文将介绍如何使用 HTML、CSS 和 JavaScript 创建一个当鼠标悬停在一个元素上时显示引导弹出的...

    7 年前
  • 如何使用jQuery从div中删除ID属性

    在前端开发中,有时我们需要通过JavaScript来操作DOM元素,其中一个常见的需求是删除元素的ID属性。本文将介绍如何使用jQuery来实现这个功能。 什么是jQuery? jQuery 是一个流...

    7 年前
  • 什么是“模块。出口”和“出口。方法在Node.js/平均表达?

    在 Node.js 和平均(浏览器端的 JavaScript 打包工具)中,模块化是一个非常重要的概念。模块化使得我们可以将代码拆分成多个小模块,便于开发、维护和测试。

    7 年前
  • 如何使用JavaScript找到父元素

    在前端开发中,我们经常需要通过JavaScript来操作DOM元素。有时候,我们需要找到一个元素的父元素,以便对其进行一些操作。那么,如何使用JavaScript来找到一个元素的父元素呢?本文将详细介...

    7 年前
  • JavaScript Domready?

    在前端开发中,我们经常需要在页面 DOM 加载完成后再执行一些 JavaScript 操作。为了实现这个目标,我们可以使用 DOMContentLoaded 事件。

    7 年前
  • 如何在页加载时自动选择输入字段及其文本

    在前端开发中,有时需要在页面加载时自动选择某个输入字段及其文本,以提高用户体验和便捷操作。本文将介绍如何实现这一功能,并提供示例代码。 实现思路 在页面加载完成后,通过 JavaScript 获取需要...

    7 年前
  • QuerySelector 的使用及通配符元素匹配

    前言 在前端开发中,经常需要通过 JavaScript 操作页面元素,而其中一个非常常见且有用的方法就是 queryselector。通过它,我们可以根据选择器来获取指定的 DOM 元素,从而对其进行...

    7 年前
  • 用JavaScript转义字符串

    在前端开发中,我们常常需要将用户输入的内容或从后端获取的数据转义为安全的字符串。这些字符串可能包含特殊字符,如引号、小于号和大于号等,在渲染到HTML页面时会导致XSS攻击。

    7 年前
  • JavaScript、剃刀和转义字符

    在前端开发中,JavaScript 是一种必不可少的编程语言。但是,JavaScript 中有很多特殊符号和转义字符需要我们注意,例如剃刀符号(< 和 >)以及反斜杠符号(\)。

    7 年前
  • 是一个空的iframe src有效吗?

    在前端开发中,常常需要使用 iframe 标签来嵌入其他网页或加载外部资源。有时,我们可能会遇到这样的需求:创建一个空白的 iframe 并动态设置其 src 属性。

    7 年前
  • 谷歌地图API V3为窗口的自定义样式

    谷歌地图API V3是一种流行的基于浏览器的地图应用程序编程接口(API),它允许开发人员在网站或应用程序中嵌入交互式地图。除了默认的外观,谷歌地图API V3还允许开发人员使用CSS来自定义地图的样...

    7 年前
  • 我能检查引导模式是否显示/隐藏了吗?

    在前端开发中,引导模式(Popover)是一个常用的交互设计元素,它可以展示用户需要知道的信息或进行操作。但有时候我们需要检查引导模式是否已经显示或隐藏,以便在程序中做出相应的处理。

    7 年前
  • HTML锚标记与Javascript onclick事件

    在前端开发中,锚标记和onclick事件是常用的技术。锚标记可以帮助我们链接到页面内的不同位置,而onclick事件则可以让我们实现页面上的交互效果。本文将详细介绍HTML锚标记和Javascript...

    7 年前
  • jQuery DataTable 隐藏列

    jQuery DataTable 是一个流行的前端插件,用于显示和管理表格数据。在某些情况下,您可能需要隐藏某些列以提高界面的可用性或保护敏感信息。在本文中,我们将介绍如何使用 jQuery Data...

    7 年前
  • 如何阻止Safari浏览器在单击后退按钮时从缓存中加载页面

    当用户点击浏览器的后退按钮时,通常会导致浏览器从缓存中加载前一页的页面。这可以提高页面加载速度,但在某些情况下,它可能会导致不必要的问题。例如,在Web应用程序中,如果用户单击后退按钮并且缓存中的页面...

    7 年前
  • 禁用jQuery双击中的文本高亮[复制]

    在前端开发中,我们通常会使用 jQuery 来操作 DOM 元素。然而,有时候我们会发现一个奇怪的问题:在双击某些元素时,浏览器会自动选中该元素的文本并将其高亮显示,这可能会导致一些不良体验或者功能上...

    7 年前
  • 将数组分割成n个长度的块

    在前端开发中,我们经常需要将数组按照一定的规则切割成多个小数组。本文将介绍如何将一个任意长度的数组分割成n个长度相等的小数组。 解决方案 我们可以使用 JavaScript 中的 slice() 方法...

    7 年前
  • 自助导航栏状态不工作的解决方法

    当我们在开发前端网站时,常常需要实现一个自助导航栏,该导航栏可以显示当前页面所处的位置并高亮对应的菜单项。然而,有时候我们会遇到自助导航栏状态不工作的问题,即无法正确显示当前页面的位置或者无法正确高亮...

    7 年前
  • 如何在 Chart.js 显示数据值

    Chart.js 是一个流行的 JavaScript 库,可以创建各种图表类型。默认情况下,Chart.js 在图表中不显示数据值,但在某些情况下,显示数据值可以使图表更具可读性和易用性。

    7 年前
  • JS正则表达式分割线

    在前端开发中,经常需要使用文本处理功能。而JS正则表达式作为一种强大的文本处理工具,在实际开发中得到了广泛运用。其中,分割线功能是JS正则表达式的重要应用之一。本文将详细介绍JS正则表达式分割线功能,...

    7 年前

相关推荐

    暂无文章