2013-03-25 38 views
2

我已经显示给终端用户以下标记:我应该如何在td元素中存储'额外'信息?

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

我的问题是 - 这个属性的名字应该是什么?我应该使用这个属性的标准名称还是我应该遵循的任何约定?

回答

2

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

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

This article有着相当不错的解释/例子:

特别是:

定制的吸引力属性是,它可以让你轻松的信息 花絮与元素相关联,稍后解析例如使用 JavaScript。有两种方法可以通过JavaScript检索 “data”属性的值:第一种方法是通过JavaScript的getAttribute()方法,第二种方法是通过 访问元素的“dataset”属性。

重新兼容性,是指http://caniuse.com/#feat=dataset这表明所有当前的浏览器有部分支持,同时目前的浏览器都完全支持。 “完全支持”意味着属性可以通过“数据集”属性访问。

但重要的是,

所有的浏览器已经可以用数据 - *的属性和使用的getAttribute访问它们。

+0

@Sheldon,感谢接受,大加赞赏。请注意,更新后的答案与其他笔记重新兼容。 – Sepster 2013-03-25 13:02:39

1

此属性的名称应该是什么?我应该使用这个属性的标准名称还是我应该遵循的任何约定?

应该是data属性

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

的数据属性在所有主流浏览器的支持。而jquery有自己的方法来操纵数据属性很容易.. doc here ...

相关问题