2009-09-16 104 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

相關問題