Je développe du code à l'aide de jQuery et j'ai besoin de stocker des données associées à certains éléments DOM. Il ya beaucoup d'autres questions sur comment pour stocker des données arbitraires avec un élément html, mais je suis plus intéressé par pourquoi je choisir une option sur l'autre. Dites, pour des raisons extrêmement simplifiées, que je veux stocker une propriété "lineNumber" avec chaque ligne dans une table qui est "intéressante".Utilisation de la banque de données jQuery par rapport aux propriétés expando
Option 1 serait juste définir une propriété expando sur chaque élément DOM (j'espère que je utilise le terme « expando » à juste titre):
$('.interesting-line').each(function(i) { this.lineNumber = i; });
Option 2 serait d'utiliser les données de jQuery() fonction d'associer une propriété à l'élément:
$('.interesting-line').each(function(i) { $(this).data('lineNumber', i); });
sans tenir compte des autres défauts de mon exemple de code, y at-il de fortes raisons pour lesquelles vous choisir un moyen de stockage des propriétés sur l'autre?
Il y a [un plugin jQuery] (http://plugins.jquery.com/files/jquery.dataSelector.js.txt) qui vous permet d'utiliser des sélecteurs comme dans var 'domElement = $ ('. Interesting-line: data (" lineNumber = '+ lineNumber +' ") '). get (0);' – ErikE