2011-05-17 51 views
1

我在某處讀取對象基本上是哈希表,並且您可以將值分配給他們。那麼,我希望利用這一點,但我想知道這是否甚至可能,如果它被認爲是「正確的」,以及是否有任何不需要的情況。JS對象自定義變量

我的情況:

我有一個嚴重的對象,我想分配給DOM對象(不能被儲存在DOM的那種!)。我的計劃是:

找到DOM對象(A格,或某種形式的區域),並且然後分配給變量myVar的

然後我將調用:myVar.customVal =值 customVal當然沒有在DOM規範中定義。那會不會有效?它會顯示在DOM中,還是保持虛擬變量?有沒有辦法將自定義值分配給DOM的成員以便以後訪問?

+2

您可以在DOM節點/元素對象中存儲任何您想要的東西,但它被認爲是不好的練習 - 沒有任何說Javascript標準不能在某些時候修改,並使您的自定義屬性保留字,並將它們用於一些完全不同的目的。 – 2011-05-17 21:58:20

+0

感謝您的回覆,Marc B,信息非常有幫助!我想用* good * practice做到這一點 - 是否有更好的方法將數據關聯到DOM對象? – 2011-05-17 22:04:28

+1

我不知道jquery,但mootools有一些叫做「元素存儲」的東西,可以讓你存儲每個節點的數據,但它的方式不會與任何未來語言/ dom的變化相沖突。 – 2011-05-17 22:05:28

回答

2

你可以這樣做:

var foo = document.getElementById('sidebar'); 
foo.party = 3; 
console.dir(foo); 

但是,沒有,它不是好的做法。相反,考慮使用HTML5's custom data attributes,或更好的是,jQuery's abstraction of them

+0

嘿,jQuery數據抽象是我需要的!感謝你的回答! :) – 2011-05-17 22:17:03