2

所以我们有一些老式的 Firefox 扩展代码,它们使用DOM3 方法 get/setUserData()在 DOM 中传递数据。不幸的是,这些在 DOM4 中已被弃用,因此 Firefox计划放弃对它们的支持,而 Chrome 从一开始就从未支持它们。

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

4

3 回答 3

1

所以最后我们还是决定用 jQuery,核心库只有 75k 左右,很干净地解决了这个问题:

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

element.setUserData('foo', 'bar', null) --> $(element).data('foo', 'bar')
于 2012-06-18T03:13:45.553 回答
0

使用可以存储数据的自定义事件detail

参考:如何将数据从网页传输到 Firefox 扩展

于 2013-11-18T08:42:40.233 回答
0

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

element.key = value;

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

element._id = "foo";
于 2014-03-08T20:56:20.880 回答