2012-06-13 265 views
0

我想獲得自定義屬性的值。對於爲例,這個:自定義屬性

<div style="-my-data:3;" id="foo" ></div> 

我想編寫類似的東西:

document.getElementById("foo").style.myData; 

但它不工作。我能怎麼做?

+1

[我可以通過JavaScript訪問無效/自定義CSS屬性的值嗎?](http://stackoverflow.com/questions/2926326/can-i-access-the-value-of-invalid-custom -css-properties-from-javascript) –

+0

使用jQuery?儘管非常認真,它有一個'data()'方法... – tskuzzy

+0

我還寫了'

'嗎? – user1365010

回答

3

您應該使用HTML5's custom data-* attributes代替:

<div data-myDataName="3" id="foo"></div> 

然後,通過JavaScript得到它,只要使用此:

document.getElementById('foo').getAttribute('data-myDataName'); // '3' 

這裏的小提琴:http://jsfiddle.net/c55nf/


P.S.即使它是HTML5的一部分,它仍然可以在舊版瀏覽器中使用。它只是在HTML5中進行了標準化。

+0

我不確定他是在談論自定義屬性還是自定義CSS屬性... –

+0

等價使用jquery:$('#foo')。data('myDataName') – Nayjest

2

使用HTML數據屬性:

<div data-style="3" id="foo"></div> 

然後用

document.getElementById("foo").getAttribute("data-style"); 

檢索信息

0

使用HTML custom data attributes

HTML

<div data-myval="3" id="foo" ></div>​ 

的JavaScript

alert(document.getElementById("foo").getAttribute('data-myval'));​ 

fiddle