现有/新数据密钥之间的冲突?

时间:2010-11-19 18:04:35

标签: javascript jquery

将数据附加到jQuery中的元素很简单:

$(selector).data(key, value)

然而,我想到我可能想要使用我的root命名空间为我的所有键添加前缀。例如:

$(selector).data("MyDotComApp." + key, value)

这是浪费时间吗?我是否想过这个?我是否需要担心覆盖核心框架写入的任何数据或插件?

是否有最佳实践来命名数据密钥?

1 个答案:

答案 0 :(得分:0)

当然不会受到伤害,虽然你不一定需要通过连接所有各种键来做到这一点。

每当您想为特定域创建数据时,您只需在元素的数据中创建一个具有域名的密钥,并为其提供一个可以存储各个密钥的对象。

示例: http://jsfiddle.net/XwJbQ/

  // The myDomain key in data references its own object
$('img').data('myDomain', {});

  // then individual keys are added to the object myDomain references
$('img').data('myDomain').someKey = "some value";
$('img').data('myDomain').someOtherKey = "some other value";

  // and are retrieved the same way
alert( $('img').data('myDomain').someKey );
alert( $('img').data('myDomain').someOtherKey );