J'imagine que cela devrait être une tâche assez trivial mais en utilisant Firefox pour Mac, 3.6.12 ce qui suit ne fonctionne pas:jQuery 1.4.4: Comment trouver un élément en fonction de sa valeur d'attribut de données?
// 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]"));
en utilisant Firebug je peux voir que tous les attributs de diapositive de données, y compris leur valeur numérique sont correctement attaché aux li
s et vous déconnecter:
$('.gallery li').each(function(index) {
console.log($(this).data());
});
sorties comme prévu:
Object { slide=1}
Object { slide=2}
Object { slide=3}
Object { slide=4}
Alors pourquoi DOE s le premier console.log
ne fonctionne pas?
ah ok, j'avais mal compris la '. data() 'fonctionne comme un raccourci pour l'attribut data dans html5. Donc, pour lire/écrire à ceux-ci, je vais devoir faire '$ (el) .attr ('data-slide', 1)'? – Jannis
+1; juste sur le point d'écrire ça ... –
@Jannis - si vous n'êtes pas vraiment intéressé par 'data()' et que vous voulez juste des attributs, utilisez '.attr()' –