Sólo como referencia para aquellos que utilizan jQuery, los atributos que empiezan con 'Data-' se puede acceder por la función data()
:
<span id='element' data-type='foo' data-sort='bar'></span>
var el = $('#element');
return [el.data('type'), el.data('sort')];
Algunos navegadores están empezando a almacenar estos en formas más avanzadas (almacenamiento de datos local?) y otros no, pero parece funcionar bastante bien. Tenga en cuenta que a los validadores de W3C no les gustan los atributos de expando como este, pero creo que hay algunas propuestas para estandarizar esto, así que validan. La última vez que investigué sobre la mejor manera de almacenar datos con un elemento, usando data-key
, este fue uno de los ganadores entre los profesionales.
Otra forma me encontré con atar los datos a un elemento es insertar una etiqueta de script inmediatamente antes o después del elemento, lo que le da un tipo distinto a text/javascript
tales como:
<script id="templatedata" type="text/html">
<span>23</span>
<span>Alfred</span> <!-- I'm sure you can get more creative than I'm being here -->
</script>
Esto no se mostrará en el navegador, y aún puede obtener el código HTML allí a través del $('#templatedata').html();
. Esto aún puede tener problemas, ya que técnicamente no es correcto, pero si la validación HTML de W3C es importante para usted, puede ser una opción viable.
Muchas gracias. :) – Mark