根据Nicholas Zakas,其中,HTMLCollections是如此之慢,如果要重复访问成员,将整个事物复制到数组中是很好的做法。他似乎声称即使在HTMLCollections上使用索引器也会导致集合完全重新查询所有匹配元素的DOM,就好像该集合实际上是一个linq-esq表达式树,而不是直接指向元素的指针列表。
我有一种情况需要允许轻松键盘导航表格。每当有人点击其中一个箭头键时,我需要将焦点从一个表格单元格切换到另一个表格单元格,并相应地添加和删除CSS类。我想过只存储tableElement.rows
返回的表行的HTMLCollection,并通过它访问各个单元格元素。我知道HTMLCollections允许你索引它们就像它们是数组一样,我认为这和索引到数组一样有效。现在我正在重新思考问题,但我仍然想了解原因。
我的问题是:当我致电tableElement.rows[2].cells[6]
时,究竟发生了什么?