Использование свойств хранилища данных jQuery и свойств расширения
Я разрабатываю код, используя jQuery, и мне нужно хранить данные, связанные с определенными элементами DOM. Есть куча других вопросов оhow хранить произвольные данные с помощью элемента html, но меня больше интересует, почему я выбрал бы один вариант над другим.
Скажем, ради очень упрощенного аргумента, я хочу сохранить & quot; lineNumber & quot; свойство с каждой строкой в таблице, которое является "интересным".
Вариант 1 будет состоять в том, чтобы просто установить свойство expando для каждого элемента DOM (я надеюсь, что я правильно использую термин «expando»):
$('.interesting-line').each(function(i) { this.lineNumber = i; });
Вариант 2 состоит в том, чтобы использовать функцию data () jQuery, чтобы связать свойство с элементом:
$('.interesting-line').each(function(i) { $(this).data('lineNumber', i); });
Не обращая внимания на любые другие недостатки моего примера кода, есть ли веские причины, по которым вы бы выбрали один способ хранения свойств над другим?