我想知道有很多方法可以动态添加内容,哪种方式更好。 我只知道三种方法 添加到正文的文本节点
document.body.innerHTML+="<div>"+myContent+"</div>";
添加到当前文本节点
document.write("<div>"+myContent+"</div>");
并添加一个全新的节点
//case based but for example purpose
var node = document.createElement("div");
node.appendChild(document.createTextNode(myContent));
document.body.appendChild(node);
第三个例子显然是更多的线条。这就是为什么我想知道为什么我应该考虑它。鉴于下载时间往往比解析时间更差?
答案 0 :(得分:1)
document.body.innerHTML+="<div>"+myContent+"</div>";
myContent
。document.write("<div>"+myContent+"</div>");
myContent
。var node = document.createElement("div"); node.appendChild(document.createTextNode(myContent)); document.body.appendChild(node);
选项3通常是最好的。
第三个例子显然是更多的线条。这就是为什么我想知道为什么我应该考虑它。鉴于下载时间往往比解析时间更差?
微观优化通常不值得付出努力。无论如何,HTTP压缩将消除大部分的大小差异。
答案 1 :(得分:0)
1) document.body.innerHTML+="<div>"+myContent+"</div>";
在将静态HTML(不需要事件侦听器)插入特定<element>
时很有用。在这种情况下,表现很好。
2) document.write("<div>"+myContent+"</div>");
我不会建议这样做。这将覆盖整页。
3)在动态添加事件侦听器时非常有用。
var node = document.createElement("div");
// You can Add Event here.
node.addEventListener("click", function(){ alert("Event Added"); });
node.appendChild(document.createTextNode(myContent));
document.body.appendChild(node);