1

在一个实例中更新 TVJS 中的 DOM 似乎几乎是瞬时的(在 DOM 中大约 1000 个锁定项),而在另一个实例中则阻塞了 UI 30 秒(大约 10000 个锁定项)。

文档参考存储为参考并使用一些属性进行更新:

var element = doc.getElementsByTagName('lockup').item(index);
element.setAttribute('id', 'item-highlight');
element.setAttribute('autoHighlight', 'true');

是否有更高效/更高效的方式来更新 DOM?

4

1 回答 1

0

我对您在显示的块周围有一个循环(请参见 参考资料index)吗?我猜想,doc.getElementsByTagName('lockup')每次翻遍整个 DOM 都会占用大量时间。因为它每次都会返回相同的数组,所以把它拉到循环的前面。像这样的东西...

var elems = doc.getElementsByTagName('lockup')
for (var elem of elems) {
  elem.setAttribute(...)
}
于 2016-01-10T19:11:29.793 回答