2011-12-21 42 views
10

Me gustaría preguntar si es 'legal' agregar variables personalizadas para documentar elementos del cuerpo. Por ejemplo:Agregar variables a los elementos DOM

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

Este código sólo funciona, pero no sé si está 'permitido'

No aparece en la lista de argumentos de la etiqueta, pero variable se puede utilizar en más de código ..

+1

Si señor que pueda – Ibu

+0

posible duplicado de [¿Puedo añadir propiedades arbitrarias de objetos DOM?] (Http://stackoverflow.com/questions/4258466/can-i-add-arbitrary- propiedades-a-dom-objetos) –

+1

http://stackoverflow.com/questions/7895560/javascript-dom-setting-custom-dom-element-properties es un mejor Q & A –

Respuesta

9

Creo que va a trabajar, pero la forma más común añadir atributo personalizado es la siguiente:

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

Y luego

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

O si es mayor de estrangulamiento navegador en setAttribute

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

EDITAR

Gracias a pimvdb por señalar que también se puede hacer

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

Sólo tenga en cuenta que' Tendré que ver cómo nombras esto: la carcasa de camello puede arrojarla de F. Usted querrá

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

Gracias :-) Ahora está claro –

+1

'elem .dataset.customVariable' también es posible con los atributos 'data-' - podría ser un poco más limpio. – pimvdb

+0

@pimvdb - no es una broma. Eso es genial, gracias - +1 –

Cuestiones relacionadas