2

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

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

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

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

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

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

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

4

2 回答 2

2

您应该研究 HTML5 自定义数据属性。HTML5 工作草案中的 W3C 文档。

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

这篇文章有一个很好的解释/例子:

尤其是:

自定义属性的吸引力在于它可以让您轻松地将信息花絮与元素相关联,以便稍后使用 JavaScript 进行解析。有两种方法可以使用 JavaScript 检索“数据”属性的值:第一种是通过 JavaScript 的老式 getAttribute() 方法,第二种是通过访问元素的“数据集”属性。

关于兼容性,请参阅http://caniuse.com/#feat=dataset,它表明所有当前的浏览器都具有部分支持,而大多数当前浏览器都具有完全支持。其中“完全支持”意味着可以通过“数据集”属性访问属性。

但重要的是,

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

于 2013-03-25T11:55:50.797 回答
1

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

它应该是数据属性

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

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

于 2013-03-25T11:55:10.913 回答