Me imagino que esto debe ser una tarea bastante trivial, pero el uso de Firefox para Mac, 3.6.12 del siguiente no funciona:jQuery 1.4.4: ¿Cómo encontrar un elemento basado en su valor de atributo de datos?
// assign data attributes
$('.gallery li').each(function(i) {
$(this).data('slide',i+1);
});
// outputting an empty jQuery object
console.log($('.gallery li[data-slide]'));
// this does not work either outputting an empty jQuery object
console.log($("[data-slide]"));
usando Firebug puedo ver que todos los datos de diapositivas-atributos incluyendo su valor numérico se fijada correctamente a la li
s y cierre de sesión:
$('.gallery li').each(function(index) {
console.log($(this).data());
});
salidas como se esperaba:
Object { slide=1}
Object { slide=2}
Object { slide=3}
Object { slide=4}
Entonces, ¿por DOE s el primer console.log
no funciona?
ah bien, yo había entendido mal el '. data() 'funciona como un atajo para el atributo de datos en html5. Entonces, para leer/escribir, tendré que hacer '$ (el) .attr ('data-slide', 1)'? – Jannis
+1; A punto de escribir eso ... –
@ Jannis - si no está realmente interesado en 'data()' y solo quiere atributos, use '.attr()' –