有没有一种方法可以对HTML DOM元素进行哈希,以便在地图中使用?

5

我想要将一些数据储存到HTML DOM元素上,但不想依赖于设置在元素上的属性。那么,有没有一种方法可以将HTML DOM元素哈希化以在Map中使用?

例如,我想要在JavaScript中执行以下操作:

Map[Hash(DIV1)] = somedata;

2
你能解释一下为什么你“不想依赖于元素上设置的属性”吗? - Incognito
HTML元素不能使用ID吗? - Fabian
@Fabian:出于我对Incognito提到的同样原因,我不能使用ID。 - ivymike
1
你可能需要类似于jQuery的data()。你可以从这里开始调查:http://stackoverflow.com/questions/5948099/jquery-data-how-to-work-question,尽管我无法提供完整的答案。 - bububaba
@Incognito 是的,对不起 :( 直到看到 Charles 的答案才恍然大悟.. - ivymike
显示剩余4条评论
1个回答

2
您可以直接将数据附加到div中。
var nextID = 1;

var hash = function(div){
   div.hashID = div.hashID || ('hashID_' + (nextID++));
   return div.hashID;
}

这是不是和在元素上设置属性一样?我曾经错误地以为这样会在 DOM 树上创建一个属性(例如 'id'、'src' 或 'class' 等)。 - ivymike
这将在js运行时向元素对象添加一个属性,而不是DOM。 - CharlesTWall3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接