想知道一个方法,有人知道吗? appendChild(HTMLElement)orinsertAdjacentHTML(HTMLString); //IE 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 appendChild 这个太慢了insertAdjacentHTML 的引数因该是一段html代码,怎么不好用呢 insertAdjacentHTML 这个方法会用了,为什么运行速度那么慢呢,有什么释放内存的代码 insertAdjacentHTML这个函数有firefox下的兼容实现 HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr) { var r = this.ownerDocument.createRange(); r.setStartBefore(this); var parsedHTML = r.createContextualFragment(htmlStr); this.insertAdjacentElement(where,parsedHTML); parsedHTML = null; r = null; }在firefox下执行这段代码就可以给firefox扩展出该函数功能的至于为什么慢,自己分析分析了是不是数据量太大了?还是什么其他原因? 冰点兄弟,你给的代码自己有没有测试过呀? insertAdjacentElement 这个方法FF里的扩展你没有贴出来呀!HTMLElement.prototype.insertAdjacentHTML=function(where, html){ var e=this.ownerDocument.createRange(); e.setStartBefore(this); e=e.createContextualFragment(html); switch (where) { case 'beforeBegin': this.parentNode.insertBefore(e, this);break; case 'afterBegin': this.insertBefore(e, this.firstChild); break; case 'beforeEnd': this.appendChild(e); break; case 'afterEnd': if(!this.nextSibling) this.parentNode.appendChild(e); else this.parentNode.insertBefore(e, this.nextSibling); break; }}; 对不起,再问一下,为什么var e=this.ownerDocument.createRange();这句话报错说this.ownerDocument是null,没有这个object呢?请执教,还应该加什么代码 HTMLElement.prototype这句话就报错,也是空 if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement) { HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode) { switch (where){ case 'beforeBegin': this.parentNode.insertBefore(parsedNode,this) break; case 'afterBegin': this.insertBefore(parsedNode,this.firstChild); break; case 'beforeEnd': this.appendChild(parsedNode); break; case 'afterEnd': if (this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling); else this.parentNode.appendChild(parsedNode); break; } } HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr) { var r = this.ownerDocument.createRange(); r.setStartBefore(this); var parsedHTML = r.createContextualFragment(htmlStr); this.insertAdjacentElement(where,parsedHTML); parsedHTML = null; r = null; } HTMLElement.prototype.insertAdjacentText = function(where,txtStr) { var parsedText = document.createTextNode(txtStr); this.insertAdjacentElement(where,parsedText); parsedText = null; } }来一段全的,这是我的一个程序正在使用的代码,摘录一段出来,应该没问题的 vb.net2008 用webbrowser控件操作网页上的table表出现问题? 关于筛选json并生成新的json的问题。 求给力! js 如何控制让页面只刷新一次 js替换replace的问题 showModalDialog关闭后父窗口又重新回到页面顶部去了!很急吗,求解决! 如何通过javascript将select的选项中的名称取出来?急! 我要捕获浏览器窗口右上角的关闭按钮,该用哪个事件??? 一些属性如何解释? js分页插件非异步 JS控制字符串长度输出 如何移除指定id的内容?
insertAdjacentHTML 的引数因该是一段html代码,怎么不好用呢
{
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.insertAdjacentElement(where,parsedHTML);
parsedHTML = null;
r = null;
}在firefox下执行这段代码就可以给firefox扩展出该函数功能的至于为什么慢,自己分析分析了
是不是数据量太大了?
还是什么其他原因?
{
var e=this.ownerDocument.createRange();
e.setStartBefore(this);
e=e.createContextualFragment(html);
switch (where)
{
case 'beforeBegin': this.parentNode.insertBefore(e, this);break;
case 'afterBegin': this.insertBefore(e, this.firstChild); break;
case 'beforeEnd': this.appendChild(e); break;
case 'afterEnd':
if(!this.nextSibling) this.parentNode.appendChild(e);
else this.parentNode.insertBefore(e, this.nextSibling); break;
}
};
说this.ownerDocument是null,没有这个object呢?请执教,还应该加什么代码
{
HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
{
switch (where){
case 'beforeBegin':
this.parentNode.insertBefore(parsedNode,this)
break;
case 'afterBegin':
this.insertBefore(parsedNode,this.firstChild);
break;
case 'beforeEnd':
this.appendChild(parsedNode);
break;
case 'afterEnd':
if (this.nextSibling)
this.parentNode.insertBefore(parsedNode,this.nextSibling);
else
this.parentNode.appendChild(parsedNode);
break;
}
}
HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
{
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var parsedHTML = r.createContextualFragment(htmlStr);
this.insertAdjacentElement(where,parsedHTML);
parsedHTML = null;
r = null;
}
HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
{
var parsedText = document.createTextNode(txtStr);
this.insertAdjacentElement(where,parsedText);
parsedText = null;
}
}来一段全的,这是我的一个程序正在使用的代码,摘录一段出来,应该没问题的