Javascript 有没有一种方法可以散列html dom元素以在映射中使用?
我试图针对HTMLDOM元素存储一些数据,不想依赖于元素上设置的属性。那么,有没有一种方法可以散列一个html dom元素以在地图中使用 例如,我希望能够在javascript中执行以下操作:Javascript 有没有一种方法可以散列html dom元素以在映射中使用?,javascript,html,dom,hash,Javascript,Html,Dom,Hash,我试图针对HTMLDOM元素存储一些数据,不想依赖于元素上设置的属性。那么,有没有一种方法可以散列一个html dom元素以在地图中使用 例如,我希望能够在javascript中执行以下操作: Map[Hash(DIV1)] = somedata; 您可以将数据直接附加到div var nextID = 1; var hash = function(div){ div.hashID = div.hashID || ('hashID_' + (nextID++)); return
Map[Hash(DIV1)] = somedata;
您可以将数据直接附加到div
var nextID = 1;
var hash = function(div){
div.hashID = div.hashID || ('hashID_' + (nextID++));
return div.hashID;
}
你能解释一下为什么你“不想依赖元素上设置的属性”吗?你不能在HTML元素上使用ID吗?@Incognito:我正在努力保持DOM干净,这是必需的,因为我正在尝试生成可以由用户复制粘贴到其项目中的HTML。因此,如果我在元素上保留任何属性以进行跟踪(当用户与它们交互时-一种WYSIWYG编辑器),我必须稍后清理。@Fabian:出于我给Incognito的相同原因,我不能使用IDS。您可能需要类似jQuery的
data()
。您可以从这里开始调查:虽然我不能提供完整的答案,但这与在元素上设置属性相同吗?我(错误地)认为这会在DOM树上创建一个属性(如'id'或'src'或'class'等)…这会在js运行时向元素对象添加属性,而不是DOM。