Я предлагаю использовать .data()
.
$('#element').data('selectionState', 'value');
Это определенно безопаснее, так как он хранит данные полностью в JavaScript вместо отображения «атрибутов» в элементах DOM. Sins ".data ()" - это все JavaScript, вы можете хранить там все, что угодно, включая функции и замыкания. (Полагаю, вы могли бы сделать это и с помощью «.attr ()», но это довольно рискованно в IE, который, по крайней мере, в старых версиях имел довольно различное управление хранением данных для DOM и JScript.)
Проблема пространства имен, на которую вы ссылаетесь, является, конечно, такой же, как и возможные способы ее решения.