在TVJS应用程序中更新DOM的最佳方式?

时间:2016-01-10 17:35:06

标签: dom tvos tvml tvjs

在一个实例(DOM中约1000个锁定项)中更新TVJS中的DOM几乎是即时的,而在另一个实例中更新DOM的时间为30秒(约10000个锁定项)。

文档参考存储为参考,并使用以下几个属性进行更新:

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

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

1 个答案:

答案 0 :(得分:0)

我是否正确,你在显示的块周围有一个循环(见index)? 我猜,doc.getElementsByTagName('lockup') - 每次遍历整个DOM - 占用了相当多的时间。因为它每次都会返回相同的数组,所以将它拉到循环前面。像这样......

var elems = doc.getElementsByTagName('lockup')
for (var elem of elems) {
  elem.setAttribute(...)
}