DOM对象可以是Javascript数组中的索引/键吗?

时间:2012-01-01 15:32:29

标签: javascript

想要维护DOM对象的map / hash。他们可以作为关键对象吗?如果没有,请问有哪些替代方案?如果有更好的方法 - 也请他们加入。

6 个答案:

答案 0 :(得分:6)

您可以将任何内容作为键,但在实际使用之前,它总是转换为字符串,并且该字符串用作键。 所以,如果你看一下domObject.toString()产生的东西,你会发现它不是一个好的候选者。如果所有dom对象都有id,则可以使用该id。 如果没有,并且您仍然迫切需要一个基于DOM对象的密钥,那么您可能可以使用例如_counter属性和背景中的自动计数器,如果_counter将新的唯一值放入DOM对象中尚未出席。

答案 1 :(得分:1)

window已将所有DOM对象维护为属性。不要为每个'DOM对象'放置自己的密钥,而是尝试使用基于DOM树布局的窗口或文档对象和方法。

答案 2 :(得分:0)

不,但您可以在DOM元素上设置一个包含数字的属性,您可以将其作为数字索引数组中的索引。

答案 3 :(得分:0)

不,因为对象键是字符串。

您必须按id或其他方式“序列化”对象,然后再执行查找。可能不值得,取决于你的实际目标是什么。

答案 4 :(得分:0)

最简单的方法是在元素上设置数据属性。

答案 5 :(得分:-2)

不确切。但我想你想要下面这样的东西。您可以使用jquery

.serializeArray()方法创建一个JavaScript对象数组,可以编码为JSON字符串。它在表示一组表单元素的jQuery对象上运行。表单元素可以是几种类型

参考以下链接: http://api.jquery.com/serializeArray/