【发布时间】:2018-12-05 12:12:24
【问题描述】:
选择区域包含动态加载的项目(最多 100 个)。单击一个项目,将其副本添加到存储箱。单击存储框中某个项目上的“x”按钮,删除该项目并从选择区域中取消选择它。
哪个练习更好/更有效率?
选项 1:
当项目加载到选择区域时,将项目作为活动 HTMLCollection 存储在变量中。单击 X 时,迭代此实时集合并在找到时取消选择它。
问题 1:将实时集合存储为变量是否成本高?
问题 2: 当迭代这个实时集合时,它实际上是迭代 DOM 还是仅仅迭代存储的集合?
选项 2:
将项目加载到选择区域后,仅将项目 ID 存储在数组中。单击 X 时,迭代此数组,当找到 ID 时,执行“getElementById”,它会遍历 DOM,然后取消选择它。
【问题讨论】:
标签: javascript performance dom traversal htmlcollection