DOM操作 vs. innerHTML
2012-06-08 23:35
357 查看
1. innerHTML创建效率高,DOM操作删除快
2. 文档加载没完成,就不能改变DOM结构
document.onmousedown = function() {
var html = "";
for (var i = 0; i < 10; i++) {
html += "<p>" + Math.random() + "<p>";
} var temp = document.createElement('div');
temp.innerHTML = html;
var frag = document.createDocumentFragment();
(function() {
if (temp.firstChild) {
frag.appendChild(temp.firstChild);
setTimeout(arguments.callee, 0);
} else {
document.getElementsByTagName('div')[0].appendChild(frag);
} })(); };
function replaceHtml(el, html) {
02 var oldEl = typeof el === "string" ? document.getElementById(el) : el;
03 /*@cc_on // 单纯innerHTML在IE中会稍微更快一些
04 oldEl.innerHTML = html;
05 return oldEl;
06 @*/
07 var newEl = oldEl.cloneNode(false);
08 newEl.innerHTML = html;
09 oldEl.parentNode.replaceChild(newEl, oldEl);
10 /* 因为我们只是从DOM中移除旧元素,所以返回一个新元素引用用作恢复 */
11 return newEl;
12 };
2. 文档加载没完成,就不能改变DOM结构
document.onmousedown = function() {
var html = "";
for (var i = 0; i < 10; i++) {
html += "<p>" + Math.random() + "<p>";
} var temp = document.createElement('div');
temp.innerHTML = html;
var frag = document.createDocumentFragment();
(function() {
if (temp.firstChild) {
frag.appendChild(temp.firstChild);
setTimeout(arguments.callee, 0);
} else {
document.getElementsByTagName('div')[0].appendChild(frag);
} })(); };
function replaceHtml(el, html) {
02 var oldEl = typeof el === "string" ? document.getElementById(el) : el;
03 /*@cc_on // 单纯innerHTML在IE中会稍微更快一些
04 oldEl.innerHTML = html;
05 return oldEl;
06 @*/
07 var newEl = oldEl.cloneNode(false);
08 newEl.innerHTML = html;
09 oldEl.parentNode.replaceChild(newEl, oldEl);
10 /* 因为我们只是从DOM中移除旧元素,所以返回一个新元素引用用作恢复 */
11 return newEl;
12 };
相关文章推荐
- DOM 操作内容 innerText/innerHTML
- Benchmark - W3C DOM vs. innerHTML
- HTML:DOM操作
- HTML DOM操作
- DOM操作HTML文档
- htmldom操作添加标签顺序
- 16、使用jQuery操作DOM之操作HTML、文本和值
- html dom节点操作(获取/修改/添加或删除)
- jQuery的DOM操作之设置和获取HTML、文本和值 html()text()val()
- AJAX技术入门 第三节 DOM基础和DOM操作HTML
- AJAX技术入门 第三节 DOM基础和DOM操作HTML
- DOM操作HTML实现AJAX的及时性
- HTML-★★★★JavaScript的DOM操作★★★★-重点部分
- 打杂之WEB前端(二) jQuery 操作DOM总结,DOM Html操作,DOM Css操作
- VS 2005 C#操作 XMLhttp://www.cnblogs.com/cstded/archive/2007/02/16/651685.html
- 原生Javascript解析HTML(非DOM操作)
- DOM基础及DOM操作HTML
- htmldom操作添加标签顺序
- 南哥带你学 HTML 之 DOM 操作
- HTML DOM基本操作,附js代码