我想使用JavaScript创建一个HTML部分,有两个选项:
I can create HTML elements using
createElement()
function:document.createElement('div');
I can directly create elements like
"<div>Test</div>"
as a string.
我想使用JavaScript创建一个HTML部分,有两个选项:
I can create HTML elements using createElement()
function:
document.createElement('div');
I can directly create elements like "<div>Test</div>"
as a string.
直接使用DOM API会更快,因为它不需要调用HTML解析器。
var div = document.createElement("div");
container.appendChild(div);
container.innerHTML += "<div></div>";
然而,在大多数情况下,除非您正在进行性能敏感的操作,否则请使用创建更易读的代码的选项。
可能有些偏题,但我认为如果有人要使用innerHTML,这是一个重要的观点
这样做非常错误:
container.innerHTML = "<div>";
container.innerHTML += "Hello ";
container.innerHTML += "World";
container.innerHTML += "</div>";
var html;
html = "<div>";
html += "Hello ";
html += "World";
html += "</div>";
container.innerHTML = html;
container.innerHTML += moreContent; //previous content lost their event handlers
使用DOM,您不需要担心这个问题,只有新内容将被解析。
container.appendChild(moreContent);