DOM3 getUserData / setUserData方法的替换

时间:2012-06-08 05:31:47

标签: jquery dom cross-browser deprecated dom3

所以我们有一些老式的Firefox扩展代码,它使用DOM3 methods get/setUserData()来传递DOM中的数据。不幸的是,这些都是deprecated in DOM4,因此Firefox是planning to drop support for them,而Chrome从一开始就不支持它们。

是否有跨浏览器替换? jQuery的$.data似乎是一个选项,但“纯粹的”JavaScript更可取。

3 个答案:

答案 0 :(得分:1)

所以最后我们决定使用jQuery,核心库只有大约75k,它可以非常干净地解决问题:

element.getUserData('foo') --> $(element).data('foo')

element.setUserData('foo', 'bar', null) --> $(element).data('foo', 'bar')

答案 1 :(得分:0)

使用可以在detail

中存储数据的自定义事件

参考:How can I transfer data to firefox extension from web page

答案 2 :(得分:0)

只需在元素上设置您想要的任何属性。

element.key = value;

DOM元素/节点只是JavaScript对象。为避免与本机属性(如id等)发生名称冲突,您可以在键前加下划线。

element._id = "foo";