Если вы хотите присоединить метаданные к элементам DOM, используйте HTML5 data- атрибуты или и используйте метод jQuery .data () , чтобы сделать это программно.
Вот пример из реального мира, который я только использовал, который действительно помог. Я отправил запрос на сервер для загрузки файла и получил ответ JSON с именем файла, типом содержимого, размером и GUID. В ответ я хочу добавить элемент списка, чтобы показать файл, но я хочу сохранить данные JSON. Вот как я это сделал в обратном вызове :
function(response) {
$('<li>').text(response.fileName).data('metadata', response).appendTo('ul');
}
Что хорошего в этом, так это то, что элемент списка имеет все мои метаданные, прикрепленные к нему.
Так что я мог бы сделать что-то вроде этого и знать все об этом:
var metadata = $('ul li:eq(1)').data('metadata');
alert(metadata.contentType);
alert(metadata.size);
//etc..
Реализации действительно безграничны.
ТАКЖЕ, начиная с jQuery 1.4.3 .data () автоматически подберет атрибуты данных в вашем HTML. Таким образом, к <div data-foo="bar"></div>
можно получить немедленный доступ в коде, используя $('div').data('foo') //bar