2010-01-13 45 views
2

我有一個網頁,使用客戶端模板更新基於json通過ajax調用獲得的頁面的一部分。DOM插入:插入DOM時,某些標記類型會更快嗎?

目前我正在使用無序列表,其中每個Li中都有標記以顯示有關產品的信息。

我很想知道,插入到DOM時比其他標籤更快一些嗎?也就是說,我應該改變我的ul到其他標籤還是更改裏面的標籤?

感謝

b

回答

2

最快的方法是構建HTML文本和設置一次innerHTML屬性。

另一種方法是創建一個document fragment,並且一旦完成就將其放入DOM中。

一個標籤或另一個標籤的插入速度可能有所不同,但它在瀏覽器之間會有些許差異。

事情是,觸摸DOM是一個非常昂貴的操作 - 如果速度是你以後 - 最小化。

看看Stoyan Stefanov's performance tips

+0

您製作的標籤插入點很有趣,我認爲答案是。然而我問的原因是因爲我有一位同事建議替換這個佈局來使用表格。他的理論是基於這篇文章在這裏:http://blogs.nitobi.com/dave/2007/01/30/html-rendering-pains/ 我很驚訝,並且v懷疑,雖然使用表格爲此反對過去幾年我在佈局中學到的一切。 有何意見? 再次感謝 – benwebdev

+0

其中有些東西可能是正確的,但我不會爲了速度而去表。是的,它可能比以前快3ms--但還有其他的東西,比如延遲,這會花費300ms。看看我添加的關於性能的最後一個鏈接 - 這是一個很好的來源。 –

+0

你的意思是什麼延遲?這是與CSS渲染的延遲?抱歉挖了這個。剛剛和同事討論過這個問題。 – benwebdev

1

首先,這是完全依賴於瀏覽器。

這就是說,不同標籤的渲染時間之間的差異應該可以忽略不計。使用提供最佳語義的標籤。不要擔心不同標籤的渲染時間。