使用属性存储值

时间:2012-05-28 12:02:50

标签: javascript html5

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

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

2 个答案:

答案 0 :(得分:7)

HTML5 data-* attributes专为此而设计。来自规范:

  

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

您可以像这样使用它们:

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

它们对所有元素都有效,每个元素都可以包含任意数量。

可以通过dataset property访问它们,每个元素都应该有。{3}}。如果您使用jQuery,则可以使用data方法来帮助解决older browsers (and IE)的问题。如果没有,您可能需要检测dataset属性,然后回退到getAttribute不支持dataset的位置。

答案 1 :(得分:0)

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

HTML5 data-* Attributes

相关问题