Verwenden der Eigenschaften "Datenspeicher" und "Erweitern" von jQuery

Ich entwickle Code mit jQuery und muss Daten speichern, die bestimmten DOM-Elementen zugeordnet sind. Es gibt eine Reihe weiterer Fragen zuWie willkürliche Daten mit einem HTML-Element zu speichern, aber ich bin mehr daran interessiert, warum ich eine Option über die andere wählen würde.

Nehmen wir zum Zwecke eines extrem vereinfachten Arguments an, dass ich für jede Zeile in einer Tabelle eine "lineNumber" -Eigenschaft speichern möchte, die "interessant" ist.

Option 1 wäre, einfach eine expando -Eigenschaft für jedes DOM-Element festzulegen (ich hoffe, ich verwende den Begriff 'expando' richtig):

$('.interesting-line').each(function(i) { this.lineNumber = i; });

Option 2 wäre, die Funktion data () von jQuery zu verwenden, um dem Element eine Eigenschaft zuzuordnen:

$('.interesting-line').each(function(i) { $(this).data('lineNumber', i); });

Gibt es starke Gründe, warum Sie eine Methode zum Speichern von Eigenschaften der anderen vorziehen, wenn Sie andere Mängel meines Beispielcodes ignorieren?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage