Estoy desarrollando código usando jQuery y necesito almacenar datos asociados con ciertos elementos DOM. Hay un montón de otras preguntas sobre cómo para almacenar datos arbitrarios con un elemento html, pero estoy más interesado en por qué elegiría una opción sobre la otra.Uso del almacén de datos de jQuery frente a las propiedades de expansión
Digamos, para simplificar el argumento, que quiero almacenar una propiedad "lineNumber" con cada fila en una tabla que sea "interesante".
opción 1 sería simplemente establecer una propiedad expando en cada elemento DOM (espero que estoy usando el término 'Expansión' correctamente):
$('.interesting-line').each(function(i) { this.lineNumber = i; });
Opción 2 sería el uso de los datos de jQuery() la función de asociar una propiedad con el elemento:
$('.interesting-line').each(function(i) { $(this).data('lineNumber', i); });
Haciendo caso omiso de cualquier otro deficiencias de mi código de ejemplo, ¿existen fuertes razones por las que elegiría un medio de almacenamiento de propiedades sobre el otro?
Hay [un plugin jQuery] (http://plugins.jquery.com/files/jquery.dataSelector.js.txt) que le permite usar selectores como en var 'domElement = $ ('. Interesting-line: data (" lineNumber = '+ lineNumber +' ")) get (0);' – ErikE