Использование $(this).data()
Сначала я собирался предложить использовать комбинацию идентификатора и имени атрибута, но каждый объект может не иметь идентификатора. Вместо этого используйте функции данных jQuery, чтобы прикрепить информацию непосредственно к элементу для простого, уникального доступа.
Сделайте что-то вроде этого (где <CSS-attribute>
заменяется именем атрибута css):
$(this).data('initial-<CSS-attribute>', parseInt( $(this).css('<CSS-attribute>') ) );
Затем вы снова можете получить к нему доступ, например:
$(this).data('initial-<CSS-attribute>');
Альтернативный способ с использованием data
:
В вашем плагине вы можете сделать небольшую вспомогательную функцию, подобную этой, если вы хотите избежать слишком большого использования data
:
var saveCSS = function (el, css_attribute ) {
var data = $(el).data('initial-css');
if(!data) data = {};
data[css_attribute] = $(el).css(css_attribute);
$(el).data('initial-css', data);
}
var readCSS = function (el, css_attribute) {
var data = $(el).data('initial-css');
if(data && data[css_attribute])
return data[css_attribute];
else
return "";
}