Я хочу связать объект JavaScript с элементом HTML. Есть простой способ сделать это?
Я заметил, что HTML DOM определяет метод setAttribute, и похоже, что он определен для произвольного имени атрибута. Однако это может устанавливать только строковые значения. (Вы, конечно, можете использовать это для хранения ключей в словаре.)
Особенности (хотя меня больше интересует общий вопрос):
В частности, у меня есть элементы HTML, представляющие узлы в дереве, и я пытаюсь включить перетаскивание, но событие drop jQuery даст мне только перетаскиваемые элементы.
Обычным шаблоном для получения информации обработчикам событий, по-видимому, является создание элементов HTML одновременно с созданием объектов JavaScript, а затем определение обработчиков событий путем закрытия этих объектов JavaScript - однако в данном случае это работает не очень хорошо. case (у меня мог бы быть глобальный объект, который заполняется, когда начинается перетаскивание ... но это немного неприятно).
источник
data()
работает с использованием ответа, который дал bobince, поэтому, если вы еще не используете jquery, вы также можете использовать его.Объектам JavaScript могут быть назначены произвольные свойства, вам ничего не нужно делать, чтобы это разрешить. Сюда входят элементы DOM; хотя такое поведение не является частью стандарта DOM, оно имело место с самых первых версий JavaScript и является полностью надежным.
источник
document.expando = false
ломать jQuery.data тоже?<td>
), а объект, который я назначил этому полю, был # toString'ed. Я был очень смущен, увидев td.scope === '[object Object]'.