Атрибутами являются всегда строки.
Вот два варианта сделать это; поскольку вы уже используете jQuery, первое, вероятно, лучше всего:
JQuery's data
jQuery предоставляет метод data
для этого:
// Setting -- notice no "data-" prefix
div.data("polygon", temp);
// Retrieving
varName = div.data("polygon");
Под прикрытием традиционно data
назначает элементу уникальный идентификатор и управляет кэшем данных для элемента, отдельно от него. Я думаю, что в ветке v3 они обновили его, чтобы фактически хранить данные об элементе (были проблемы с памятью при выполнении этого в Internet Explorer 8 и более ранних версиях, поэтому jQuery не делал этого раньше).
Назначьте его как свое собственное свойство "expando"
Если вам не нужна поддержка Internet Explorer 8, вы можете просто создать свойство для фактического элемента DOM.
// Setting
rawDiv.myUniquePrefixToAvoidConflicts_polygon = temp;
// Getting
varName = rawDiv.myUniquePrefixToAvoidConflicts_polygon;
Обратите внимание, что во избежание конфликтов со многими предопределенными свойствами, которые есть у элементов, а в будущем у них еще нет , но пока , вы захотите использовать префикс, вероятно, уникальный.