我应该如何在 td 元素中存储'extra'信息?



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

<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>

我的问题是-这个属性的名称应该是什么?这个属性是否应该使用标准名称,或者应该遵循什么约定?

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

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

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

特别是

:

自定义属性的吸引力在于它可以让您轻松地进行关联元素的信息花絮,稍后将使用例如JavaScript。的值有两种检索方法"data"属性使用JavaScript:第一个是通过好的旧JavaScript的getAttribute()方法访问元素的"dataset"属性

Re兼容性,请参考http://caniuse.com/#feat=dataset,这表明所有当前浏览器都有部分支持,而大多数当前浏览器都有完全支持。其中"完全支持"表示属性可以通过"dataset"属性访问。

,但重要的是,

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

这个属性的名称应该是什么?这个属性是否应该使用标准名称,或者应该遵循什么约定?

应该是数据属性

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

所有主流浏览器都支持data属性。并且jquery有自己的方法可以轻松地操作数据属性。医生在这里…