¿Los atributos de datos personalizados HTML5 “funcionan” en IE 6?

Resuelto Paul D. Waite asked hace 14 años • 6 respuestas

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”?

Paul D. Waite avatar Mar 10 '10 05:03 Paul D. Waite
Aceptado

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-geoffusar

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.

Marcel Korpel avatar Mar 09 '2010 22:03 Marcel Korpel

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");
Marko avatar Apr 17 '2011 21:04 Marko