我有以下代碼:什麼是更好的DOM操作 - DOM API或innerHTML?
tr = document.createElement("tr");
root.appendChild(tr);
td = document.createElement("td");
td.appendChild(document.createTextNode("some value"));
tr.appendChild(td);
嗯,這個代碼是一樣的
root.innerHTML = "<tr><td>some value</td></tr>";
第一個版本可能是一個更好的路要走,因爲瀏覽器並沒有呈現一個字符串。但它太長了。特別是對於更大的結構,這種實現變得非常難以閱讀。所以我覺得有一個更好的方式來寫這個(沒有任何JavaScript庫)。你將如何實現這個,以便代碼更具可讀性? (現在我正在將代碼與評論分開。)
實際上,innerHTML比創建DOM節點要快得多。請參閱http://www.quirksmode.org/dom/innerhtml.html。 – kennytm 2010-08-10 06:34:41
@KennyTM:那些測試結果已經兩年了。 – Gumbo 2010-08-10 06:42:30
@Gumbo:innerHTML的仍然是最快的蛤蚧(火狐)或Presto(Opera)的今天,但對於WebKit的(Chrome和Safari瀏覽器)中的「表法」比較快。像OP所做的那樣創建DOM節點對所有這4種瀏覽器來說都是最慢的。 – kennytm 2010-08-10 06:57:25