在一个实例(DOM中约1000个锁定项)中更新TVJS中的DOM几乎是即时的,而在另一个实例中更新DOM的时间为30秒(约10000个锁定项)。
文档参考存储为参考,并使用以下几个属性进行更新:
var element = doc.getElementsByTagName('lockup').item(index);
element.setAttribute('id', 'item-highlight');
element.setAttribute('autoHighlight', 'true');
是否有更高性能/更有效的DOM更新方式?
答案 0 :(得分:0)
我是否正确,你在显示的块周围有一个循环(见index
)?
我猜,doc.getElementsByTagName('lockup')
- 每次遍历整个DOM - 占用了相当多的时间。因为它每次都会返回相同的数组,所以将它拉到循环前面。像这样......
var elems = doc.getElementsByTagName('lockup')
for (var elem of elems) {
elem.setAttribute(...)
}