Специфичные для HTML-элемента значения в Javascript (в IE) - PullRequest
1 голос
/ 30 декабря 2010

Я хочу иметь возможность устанавливать собственные атрибуты для элемента HTML (желательно с использованием jQuery). т.е.

$("#element").attr('myVar','10px');

И это прекрасно работает в браузерах, таких как Chrome и Firefox. Однако, к сожалению, даже в IE 8 нет поддержки пользовательских атрибутов. Как я могу сделать что-то подобное, что совместимо с IE?

Я пытался просто установить значение, например

obj.myValue = "10px";

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

Ответы [ 2 ]

2 голосов
/ 30 декабря 2010

Не устанавливайте пользовательские атрибуты непосредственно на элемент. Зачем? Потому что есть зарезервированные свойства, и они грязные и глючные, и возникнут конфликты. Вместо этого используйте jQuery .data, который внутренне хранит пользовательские свойства / ключи для объектов DOM.

$('#element').data('key', 'value');

Получите значение, просто указав $('#element').data('key').

0 голосов
/ 30 декабря 2010

Используйте метод jQuery data. apidocs здесь.

Метод jQuery.data () позволяет нам присоединять данные любого типа к элементам DOM способом, который защищен от циклических ссылок и, следовательно, свободен от памятиутечки

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