在 HTML 数据属性上存储自定义数据的目的是什么?

What is the purpose of storing custom data on HTML data attributes?

我一直在努力理解“为什么 HTML 标签中可能需要自定义数据?为什么它存储在 data-* 属性中?”。是不是多在没有数据库的时候用,没有API?还是无关紧要?

我知道数据属性可以用来存储不能在classid中并且可以在CSS或JS中使用的信息但是什么可以将其存储在 HTML 标签中的情况?我正在尝试找出使用自定义数据和数据属性的最佳可能正确方法。

我目前使用的一个用例是我在 React 中创建了一个组件,并使用伪元素从数据属性中获取数据,即。 data-title 值将由 CSS 在 content: attr(data-title) 中获取,所以我传递给组件的任何值都直接通过 css 显示,而且有很多用途例如,您需要一些值而不是在单击函数上传递整个对象,您只需添加单击事件,它就会从数据属性中获取值。

我现在能想到的这两个用例。

------------ 更新----------------

data-* 属性允许我们在标准的语义 HTML 元素上存储额外信息,而无需其他 hack,例如 non-standard 属性,或 DOM 上的额外属性,hack 可以使您的 HTML 在许多情况下无效或产生未知错误。我们使用的常见属性是 class、id 等,对于自定义属性,您可以使用 data-*。引入数据属性背后的主要动机是允许我们在标准的语义 HTML 元素上存储额外的信息,而无需其他 hack,例如 non-standard 属性或 DOM 上的额外属性。所以当你问什么是更好的方法时,你所能想到的是有多种方法可以实现同样的事情,开发人员采取这种方法是主观的。