2011-12-21 21 views
10

Vorrei chiedere se è "legale" aggiungere variabili personalizzate agli elementi del corpo del documento. Per esempio:Aggiunta di variabili agli elementi DOM

document.getElementById('elem1').customVariable = 'xxx'; 

Questo codice solo di lavoro, ma non so se è 'permesso'

Non appare nella lista degli argomenti di tag, ma variabile è utilizzabile in ulteriore codice ..

+1

Sì, signore si può – Ibu

+0

possibile duplicato del [Posso aggiungere proprietà arbitrarie di oggetti DOM?] (Http://stackoverflow.com/questions/4258466/can-i-add-arbitrary- proprietà-a-dom-oggetti) –

+1

http://stackoverflow.com/questions/7895560/javascript-dom-setting-custom-dom-element-properties è una migliore Q & A –

risposta

9

credo che funzionerà, ma il modo più comune per aggiungere attributo personalizzato è come questo:

<div id="elem1" data-customVariable="foo" 

E poi

document.getElementById('elem1').setAttribute("data-customVariable", "bar"); 

O se più vecchio starter browser sul setAttribute

document.getElementById('elem1')["data-customVariable"] ="bar"; 

EDIT

Grazie a pimvdb per aver ricordato che si può anche fare

document.getElementById('elem1').dataset.customVariable ="bar"; 

Basta notare che si' Dovrò vedere come lo chiami, l'involucro del cammello può lanciarlo f. Vorrete

<div id="elem1" data-custom-variable="xxx"></div> 
+0

Grazie :-) Ora è chiaro –

+1

'elem .dataset.customVariable' è anche possibile con gli attributi 'data-' - potrebbe essere un po 'più pulito. – pimvdb

+0

@pimvdb - non sto scherzando. È davvero fantastico, grazie - +1 –

Problemi correlati