Об этом спрашивали раньше . Оттуда мой ответ, так как это хороший вопрос:
jQuery сохраняет всю информацию о данных во внутренней переменной jQuery.cache. С помощью этого простого, но полезного плагина можно получить все данные, связанные с конкретным объектом:
jQuery.fn.allData = function() {
var intID = jQuery.data(this.get(0));
return(jQuery.cache[intID]);
};
С этим вы можете сделать следующее:
$('#myelement').data('test1','yay1')
.data('test2','yay2')
.data('test3','yay3');
$.each($('#myelement').allData(), function(key, value) {
alert(key + "=" + value);
});
Кроме того, вы можете просто сохранить объект:
$('#myelement').data('data', {test1:'yay1',test2:'yay2',test3:'yay3'});