1

我更喜欢使用 lang、dir、id、class 等属性来存储一些引用这些对象的 javascript 函数的有用数据——我这样做是为了避免使用在每次操作或更改后可能必须更新的数组。问题是这是一种不好的做法,我不能总是使用我想要的属性,因为它们已经在使用中,或者在某些标签类型上不可用。有没有更好的办法?

请注意,我不喜欢使用分隔符拆分多个值,因为在处理大量对象时这很慢。

4

2 回答 2

7

HTML5data-*属性是专门为此设计的。从规范:

自定义数据属性旨在存储页面或应用程序私有的自定义数据,没有更合​​适的属性或元素。

你可以像这样使用它们:

<div data-random="12345" data-name="James"></div>

它们对所有元素都有效,并且每个元素都可以有任意数量的元素。

它们可以通过每个元素都应该具有的dataset属性来访问。如果您使用 jQuery,您可以使用该data方法来帮助解决旧浏览器(和 IE)的问题。如果没有,您可能必须对dataset属性进行特征检测并退回到getAttributedataset支持的位置。

于 2012-05-28T12:04:31.610 回答
0

由于您标记了 jQuery 和 HTML5,我认为这正是您正在寻找的,以一种优雅和标准化的方式,而不会破坏验证。

HTML5 数据-* 属性

于 2012-05-28T12:06:13.863 回答