2010-11-23 102 views

回答

20

當然,人們已經這麼做了很久。不推薦,因爲它很混亂,你可能會混淆現有的屬性。

如果您使用for..in循環代碼,您的代碼可能會中斷,因爲您現在將通過這些新附加屬性進行枚舉。

我建議使用類似jQuery的.data這樣的元數據附加到對象。如果您不想使用庫,請重新執行jQuery.data

+0

酷......是`數據`由jQuery本身使用還是我可以自由地給它分配任何值? – 2010-11-23 16:45:17

+1

`$ .data`由jQuery定義。你可以像`$('#el')。data('key','value')`一樣使用它。 – 2010-11-23 16:46:23

15

是的,您可以將自己的屬性添加到DOM對象,但請記住小心避免命名衝突和循環引用。

document.getElementById("myElement").myProperty = "my value"; 

HTML5引入經由標記的元件附接數據的有效方式 - 使用data-屬性前綴。您可以在HTML中使用此方法4號文件沒有問題了,但是他們不會驗證:

<div id="myElement" data-myproperty="my value"></div> 

,您可以通過JavaScript訪問使用getAttribute()

document.getElementById("myElement").getAttribute("data-myproperty"); 
4

你想屬性添加到對象或元素的屬性?

可以使用setAttribute

var el = document.getElementById('myelement'); 
el.setAttribute('custom', 'value'); 

添加屬性,或者你可以只添加屬性的JavaScript對象:

var el = document.getElementById('myelement'); 
el.myProperty = 'myValue'; 
6

如果有人在2015年想知道,是的,你可以 - jQuery是做只是在data。只需選擇供應商前綴或基於時間的隨機後綴(jQuery)等面向未來的名稱即可。

相關問題