Назначить объект элементу в качестве атрибута в сценарии Java - PullRequest
0 голосов
/ 08 мая 2018

У меня есть этот сценарий, где мне нужно назначить объект java-script атрибуту div.

var temp["name"]="first";

Я присвоил его атрибуту тега div с помощью Jquery.

div.attr('data-polygon',temp);
Object [ <div#image01> ]

когда я пытаюсь получить его, он не возвращается тот же .. он преобразуется в строку.

div.attr('data-polygon');
"[object Object]"

Любая правильная опция / альтернатива, чтобы сохранить объект в атрибуте? пожалуйста, дайте мне знать

1 Ответ

0 голосов
/ 08 мая 2018

Атрибутами являются всегда строки.

Вот два варианта сделать это; поскольку вы уже используете 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;

Обратите внимание, что во избежание конфликтов со многими предопределенными свойствами, которые есть у элементов, а в будущем у них еще нет , но пока , вы захотите использовать префикс, вероятно, уникальный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...