我有以下代码:什么是更好的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