【发布时间】:2010-03-31 12:30:45
【问题描述】:
当前代码
我已经构建了函数来处理 jQuery 元素的集合:
var collection = $([]); //empty collection
我添加它们:
collection = collection.add(e);
并删除:
collection = collection.not(e);
这是非常简单的解决方案,效果很好。
问题
现在,我想要一个由各种设置组成的对象,设置为任何 jQuery 元素,即:
function addObject(e){
var o = {
alpha: .6 //float
base: {r: 255, g: 255, b: 255} //color object
}
e.data('settings', o);
}
但是当我将 jQuery 对象/元素传递给函数时(即作为e),调用e.data 不起作用,尽管这将是最简单且非常好的解决方案。
问题
如果我有一个 jQuery 元素的“集合”,为集合的每个元素存储一些数据的最简单方法是什么?
【问题讨论】:
-
我不知道您可以创建和使用您所说的集合。就是这样一块金子。谢谢!
-
@prodigitalson:我可能不得不写博客,虽然我不认为这是一个独特的想法......是吗? :]
-
嗯,也许只是“没有创意”,但我从来没有想过将空数组/对象传递给 jQ 以获得由它支持的裸集合。我总是使用一个数组/对象,然后在它上面使用
$.each,这当然意味着实现中的许多其他事情:-) -
我仍然通过
$.each浏览这个collection,但是,控制该集合中的内容非常简单。 -
@prodigitalson,@justkt:我听到了。 adam.kissyour.net/11-using-empty-set-with-jquery-part-1 @prodigitalson:阅读那篇博文,你就会明白我为什么使用这种结构。或者更好,也许你会告诉我更好的方法:]
标签: jquery object storing-data