Javascript 现有/新数据键之间的冲突?
将数据附加到jQuery中的元素很容易:Javascript 现有/新数据键之间的冲突?,javascript,jquery,Javascript,Jquery,将数据附加到jQuery中的元素很容易: $(选择器)。数据(键、值) 然而,我突然想到,我可能想用我的根名称空间作为所有键的前缀。例如: $(选择器)。数据(“MyDotComApp.”+键,值) 这是浪费时间吗?我是不是想得太多了?我是否需要担心覆盖核心框架编写的任何数据或插件 有没有命名数据键的最佳实践?当然不会有什么坏处,尽管您不一定需要通过连接所有不同的键来实现这一点 无论何时,只要想为特定域创建数据,就可以在元素上用域的名称在数据中创建一个键,并给它一个可以存储各个键的对象 示例:
$(选择器)。数据(键、值)
然而,我突然想到,我可能想用我的根名称空间作为所有键的前缀。例如:
$(选择器)。数据(“MyDotComApp.”+键,值)
这是浪费时间吗?我是不是想得太多了?我是否需要担心覆盖核心框架编写的任何数据或插件
有没有命名数据键的最佳实践?当然不会有什么坏处,尽管您不一定需要通过连接所有不同的键来实现这一点 无论何时,只要想为特定域创建数据,就可以在元素上用域的名称在数据中创建一个键,并给它一个可以存储各个键的对象 示例:
是的,我认为你想得太多了——只需使用适用于你的应用程序的智能钥匙名称即可。我假设jQuery会担心在它们的名字前面加上某种前缀(甚至是一个标记),这样就不容易发生冲突。不过,您也可以随时查看jQuery源代码。
// 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 );