更改DOM元素的innerText会导致新的布局计算/渲染吗?

时间:2010-10-21 19:00:48

标签: javascript dom

我知道对网页的DOM进行某些更改(通过JavaScript)将导致渲染引擎计算用于渲染的新布局(不确定我的术语是否正确)。

我有一个使用彗星式长轮询请求相当频繁地更新数据的过程。其中一些更新非常频繁。我知道一个好的一般经验法则是删除目标DOM元素,进行必要的更改,然后将其放回DOM中(因此重新渲染时只会被击中两次),但我不确定如果你只是替换元素的内部文本,如果你招致相同的命中。在我的情况下,我正在更新一些表格单元格的内容,这些表格单元格只是文本(不包含在跨度或div中)。

2 个答案:

答案 0 :(得分:2)

任何时候DOM发生变化都会触发重绘和重排。即使你只是改变文字。

答案 1 :(得分:1)

是的,就像你想要的一样。

例如:你有一个id =“div”的div,它的html被设置为'Lorem'的文本

var div = document.getElementById('div');
div.innerHTML = 'Lorem Ipsum Dolor'

然后你会看到div的innerHTML被设置为'Lorem Ipsum Dolor'。这称为文件回流。

洛伦佐

相关问题