Замена для методов getUserData/setUserData в DOM3

Итак, у нас есть некоторый старый код расширения Firefox, который использует методы DOM3 get/setUserData() передавать данные в DOM. К сожалению, они устарели в DOM4, поэтому Firefox планирует отказаться от их поддержки, и Chrome никогда не поддерживал их.

Есть ли кросс-браузерная замена? JQuery-х $.data кажется, вариант, но "чистый" JavaScript будет предпочтительнее.

3 ответа

Решение

Итак, в конце концов, мы решили использовать jQuery, базовая библиотека всего около 75 тыс., И она решает проблему очень чисто:

element.getUserData('foo') --> $(element).data('foo')

element.setUserData('foo', 'bar', null) --> $(element).data('foo', 'bar')

Использовать пользовательское событие, которое может хранить данные в detail

Ссылка: Как я могу перенести данные в расширение Firefox с веб-страницы

Просто установите любое свойство на элементе.

element.key = value;

Элементы / узлы DOM - это просто объекты JavaScript. Чтобы избежать конфликта имен с нативными свойствами (например, idи т. д.), вы можете добавить к своим клавишам подчеркивание.

element._id = "foo";
Другие вопросы по тегам