2010-11-20 79 views
3

我有一些java脚本代码实现了一种幻灯片放映。它使用一系列img标签作为表格来控制其行为。我可能使用了一些代码,我找到了一些作为基础的代码。无论如何,img标签包含一个data-img属性,在img标签的任何定义中我都找不到它。现在我发现我需要向img标签添加更多数据。所以我的问题是:<img>属性

1)data-img实际上是一个真实的属性还是adhoc?

2)我可以发明更多的属性吗?

3)使用这些属性有什么危险?

+4

它在HTML 5中有效。相关:http://stackoverflow.com/questions/1600106/storing-arbitrary-info-in-html-tags-for-javascript – 2010-11-20 13:59:14

+0

为什么不只是使用jQuery carosel? – CarneyCode 2010-11-20 14:20:23

回答

2

1)它在HTML 5中有效;它是一个无效的属性(据我所知,将仍然在所有浏览器中工作,但它将打破验证)在HTML 4

2)据我所知,您可以添加任意属性并在Javascript中查询它们,但是这些属性可能无法在某些DOM操作和浏览器创建标记的其他操作中生存 - 可能无效属性将被简单地丢弃

3)您的页面将不再验证。

背景:Custom attributes - Yay or nay?

+0

从您引用的参考看来,可能是数据 - HTML5中的任何内容都可以。这是正确的吗?另请参阅http://html5doctor.com/html5-custom-data-attributes/ – 2010-11-20 14:42:19

+0

@Mike数据 - 任何东西在HTML 5中都是绝对有效和正确的,是的。 – 2010-11-20 16:15:37

0
  1. 取决于实施。
  2. 是的,它通常很有用。
  3. 如果在#2中创建,不是真的,否,它们是DOM的一部分,我知道没有删除属性的浏览器。
+0

浏览器删除他不知道的属性。这意味着IE8和更低版本不知道他在说什么。 – jwueller 2010-11-20 14:03:13

+0

@elusive浏览器何时删除未知属性?当然不是在正常的HTML/Javascript页面上下文中? – 2010-11-20 14:09:45

+0

@Pekka:前段时间我遇到了自定义属性的问题,并认为它只发生在IE中。不过,我不确定这个背景。 – jwueller 2010-11-20 15:20:25

0

它们是有效的HTML5属性。

如果您需要使用javascript为客户端添加并获取该数据,而无需与服务器端进行通信,则可以实施与Mootools使用的机制类似的store and retrieve机制。

它不污染DOM并存储JavaScript对象。