2010-10-21 57 views
0

我知道某個網頁DOM(通過JavaScript)的某些更改會導致呈現引擎計算渲染的新佈局(不確定我的術語是否正確)。是否更改DOM元素的innerText會導致新的佈局計算/渲染?

我有一個相當頻繁地使用彗星風格長輪詢請求更新數據的過程。其中一些更新相當頻繁。我知道一個好的通用經驗法則是去除目標DOM元素,進行必要的更改,然後將其放回到DOM中(因此只能用重新渲染命中兩次),但我不確定如果你只是替換元素的內部文本,如果你遭受同樣的命中。在我的情況下,我正在更新一些表格單元格的內容,它們只是文本(不包含跨度或div)。

回答

2

任何時候DOM中的東西發生變化都會觸發重繪和迴流。即使你只是在改變文字。

1

是的,它會像你想成爲的一樣。

例如:你有一個ID =「格」和它的HTML一個div設置好的來的「的Lorem」

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

然後你會看到div的innerHTML來進行設置好的「Lorem存有悲」的文字。這被稱爲文件迴流。

洛倫佐

+0

這其實是我*不*希望它:)我試圖找出如果我可以有選擇地更新的innerText,而不是重建高了DOM結構加快速度。 – Matt 2010-10-21 19:39:40

+0

我無法理解你。如果你更清楚,我想幫助你,以及:) – Fatih 2010-10-21 20:04:07