我应该如何在td元素中存储“额外”信息?

时间:2013-03-25 11:52:39

标签: jquery html

我向最终用户显示以下标记:

<td class="event-start"> Mon 25th Feb (2013) @ 01:00pm</td>

我正在开发一项功能,允许用户编辑事件开始时间。

然而,这种时间格式很难处理(在jQuery中),因为我已经为最终用户格式化它而不是显示为unix时间戳。

所以,我认为将事件开始的实际值(作为Unix时间戳)存储在<td>元素的另一个属性中可能更合适。

<td class="event-start" actual-start="unix-timestamp"> Mon 25th Feb (2013) @ 01:00pm</td>

我的问题是 - 这个属性的名称应该是什么?是否有我应该用于此属性的标准名称或我应遵循的任何约定?

2 个答案:

答案 0 :(得分:2)

您应该研究HTML5自定义数据属性。 W3C文档位于HTML5 Working Draft

简而言之,将您的属性名称添加为data-。这样做可以通过元素上的JS dataset属性专门访问您的数据元素。

This article有一个很好的解释/例子:

特别是:

  

自定义属性的吸引力在于它可以让您轻松关联   带有元素的信息的花絮,稍后将使用解析   例如JavaScript。有两种方法可以检索其值   使用JavaScript的“数据”属性:第一个是通过好旧的   时尚getAttribute()方法的JavaScript,第二个,由   访问元素的“dataset”属性。

重新兼容,请参阅http://caniuse.com/#feat=dataset,其中建议所有当前浏览器具有部分支持,而大多数当前浏览器完全支持。 “完全支持”意味着“数据集”属性可以访问属性。

但重要的是,

  

所有浏览器都可以使用data- *属性并使用getAttribute访问它们。

答案 1 :(得分:1)

  

该属性的名称应该是什么?是否有我应该用于此属性的标准名称或我应遵循的任何约定?

它应该是data属性

<td class="event-start" data-actual-start="unix-timestamp">

所有主流浏览器都支持data属性。和jquery有自己的方法来轻松操作数据属性.. doc here ...