我经常发现自己将对象数据存储在隐藏的dom元素中。我很好奇是否有办法将这些数据附加到dom节点本身。当我尝试“动态”创建属性时,它似乎不起作用。使用this.something访问属性会更容易,而不是访问子中包含的html。我觉得我应该知道怎么做,但我不知道。感谢。
答案 0 :(得分:9)
.data()
。
$('#someId').data('myData', someValue); // To store the data
$('#someId').data('myData'); // To retrieve it again
任何JavaScript变量都可以存储为数据 - 它不仅限于字符串。
请注意,这实际上并没有像您所说的那样将数据附加到DOM节点(应该避免)。 jQuery保存自己存储的所有数据以及要将其附加到的DOM节点的缓存。所以,它与domNode.myData = someValue
不一样。
答案 1 :(得分:1)
jQuery.data是执行此操作的首选方式。