¿Los atributos de datos personalizados HTML5 “funcionan” en IE 6?
Atributos de datos personalizados: http://dev.w3.org/html5/spec/Overview.html#embedding-custom-non-visible-data
Cuando digo "trabajar", me refiero a si tengo un HTML como este:
<div id="geoff" data-geoff="geoff de geoff">
será el siguiente JavaScript:
var geoff = document.getElementById('geoff');
alert(geoff.dataGeoff);
¿Producir, en IE 6, una alerta con “geoff de geoff”?
Puede recuperar valores de atributos personalizados (o propios) usando getAttribute
. Siguiendo tu ejemplo con
<div id="geoff" data-geoff="geoff de geoff">
Puedo obtener el valor de data-geoff
usar
var geoff = document.getElementById("geoff");
alert(geoff.getAttribute("data-geoff"));
Consulte MSDN . Y aunque allí se menciona que necesitas IE7 para que esto funcione, lo probé hace un tiempo con IE6 y funcionó correctamente (incluso en modo peculiar).
Pero esto, por supuesto, no tiene nada que ver con los atributos específicos de HTML5.
Sí, funcionan.
IE es compatible getAttribute()
con IE4, que es para lo que jQuery usa internamente data()
.
data = elem.getAttribute( "data-" + key ); // Line 1606, jQuery.1.5.2.js
Entonces puedes usar .data()
el método de jQuery o JavaScript simple:
HTML de muestra
<div id="some-data" data-name="Tom"></div>
JavaScript
var el = document.getElementById("some-data");
var name = el.getAttribute("data-name");
alert(name);
jQuery
var name = $("#some-data").data("name");