我想把一个JavaScript对象和一个超文本标记语言元素关联起来。有没有简单的方法可以做到这一点?
我注意到HTML DOM定义了一个setAttribute方法,它看起来像是为任意属性名称定义的。但是,这只能设置字符串值。(当然,您可以使用它将键存储到字典中。)
细节(尽管我最感兴趣的是一般问题):
具体地说,我有一个表示树中节点的超文本标记语言元素,我正在尝试启用拖放,但jQuery drop事件只会给我提供被拖放的元素。
将信息发送到事件处理程序的常规模式似乎是在创建JavaScript对象的同时创建HTML元素,然后通过关闭这些JavaScript对象来定义事件处理程序--但是在这种情况下,这并不能很好地工作(我可能有一个全局对象,它会在拖动开始时被填充...但这感觉有点糟糕)。
发布于 2009-09-09 23:39:27
您看过jQuery data()方法吗?如果需要,您可以将复杂对象分配给元素,或者可以利用该方法至少保存对对象(或其他一些数据)的引用。
发布于 2009-09-10 00:10:33
JavaScript对象可以分配任意的属性,不需要做任何特殊的事情就可以实现。这包括DOM元素;尽管这种行为不是DOM标准的一部分,但从最初的JavaScript版本开始就是这样,并且是完全可靠的。
var div= document.getElementById('nav');
div.potato= ['lemons', 3];
https://stackoverflow.com/questions/1402693
复制相似问题