2009-09-16 59 views

回答

14

直到HTML5没有。对于HTML 5,可以使用data-*属性进行规定。

例如: -

<div id="myStuff" data-mydata="here is my data"> 

在目前的技术没有 “官方” 远来做到这一点。但是,所有的浏览器允许您任何arbitary属性添加到一个HTML元素,以便在HTML4,你可以这样做: -

<div id="myStuff" data-mydata="here is my data"> 

正如你可以看到的是相同的,但不是offically sactioned,如果你想严格XHMTL遵守会被认为是“破碎”。

您可以访问属性就像任何其他: -

var mydata = document.getElementById("myStuff").getAttribute("data-mydata"); 
+0

Downvoter,请评论? – AnthonyWJones 2009-09-16 13:20:47

3

你也许可以使用html5 data-* attributes?它将无法验证HTML4,但它仍然可能是最好的选择...

+1

尽管它会对html4进行严格的验证,但它仍然可以工作,因为所有的浏览器都接受它,最终,这才是真正重要的。 – awe 2009-09-22 11:41:43

0

看一看www.htmlref.com或W3C的使用属性。

除了这些你可以添加自己的,他们将呈现,他们将通过代码,例如在C#中,你可以访问控件属性集合访问。

Control.Attributes [ “MyCustomAttribute”] = “Hello World” 的;

0

relrev属性,这与href -attribute元素工作。他们有一个语义,但经常被滥用,以存储更多的信息

+2

那么我们应该滥用这个属性呢? – Gumbo 2009-09-16 08:04:19

1

如果你将数据存储在JavaScript中使用的属性,你也可以使用像jQuery的元数据插件。在JavaScript然后

<div id="aaa" class="class1 class2 class3 { type: 'food', color: 'green' }"></div> 

:基本上,你可以存储元素的类内数据=“”属性,像这样

alert($('#aaa').metadata().color) // "green" 

其它试剂盒使用的标题或相对的属性来存储数据。虽然这对验证友好性更高,但它可能比使用AnthonyWJones的仅使用非标准属性的回答更好。它会“中断”验证,但是根据Dojo,自定义属性是完全有效的HTML,即使它们不针对DTD进行验证。

所以不 - 没有一个很好接受的特定属性,您可以转储所有数据。所有现有的属性都用于特定用途。但是你可以1)创建你自己的属性,或者2)通过一个现有的标签来重用你的目的。只是想指出替代方案。

+0

嗯好的答案,老实说,我用过这个之前,我觉得最后一年 – lock 2011-06-27 01:49:30

相关问题