Dans une vie antérieure, je aurais pu faire quelque chose comme ceci:données associant à un élément DOM jQuery
<a href="#" onclick="f(311);return false;">Click</a><br/>
<a href="#" onclick="f(412);return false;">Click</a><br/>
<a href="#" onclick="f(583);return false;">Click</a><br/>
<a href="#" onclick="f(624);return false;">Click</a><br/>
Maintenant, avec jQuery, je pourrais faire quelque chose comme ceci:
<a class="clicker" alt="311">Click</a><br/>
<a class="clicker" alt="412">Click</a><br/>
<a class="clicker" alt="583">Click</a><br/>
<a class="clicker" alt="624">Click</a><br/>
<script language="javascript" type="text/javascript">
$(".clicker").bind("click", function(e) {
e.preventDefault();
f($(this).attr("alt"));
});
</script>
Sauf que l'utilisation de l'attribut alt pour transmettre les données du DOM à jQuery ressemble à un hack, puisque ce n'est pas son but. Quelle est la meilleure pratique ici pour stocker/cacher des données dans le DOM pour que jQuery puisse y accéder?
Cela me semble fragile. Vous dépendez d'une cohérence arbitraire dans l'ordre entre deux collections différentes - une donnée, un balisage. Je ne peux pas voir l'utiliser dans ce cas. – tvanfosson
D'accord. Si je vais continuer dans cette voie, le plugin de métadonnées me semble être la solution. – Soldarnal
Vous supposez commander des matières dans cet exemple? Tous les liens sont les mêmes! * Comment * vous définissez les données ne sont pas vraiment pertinentes à la question, OMI. –