Firefox下不支持Set HTMLElement outerHTML的解决方案
作者: 李嘉 日期: 2009-02-21 11:40
在javascript中,火狐不支持obj.outerHTML=strings的操作,以下代码能够否解决问题,注意HTMLElement是一个HTML对象,需要用一个真实存在的对象代替,如document.getelement('Div1')来替换下面代码的HTMLElement字符串。
HTMLElement.prototype.__defineGetter__("outerHTML", function() {
var span = document.createElement("span"); span.appendChild(this.cloneNode(true));
return span.innerHTML;
});
HTMLElement.prototype.__defineSetter__("outerHTML", function(html) {
var range = document.createRange();
this.innerHTML = html;
range.selectNodeContents(this);
var frag = range.extractContents();
this.parentNode.insertBefore(frag, this);
this.parentNode.removeChild(this);
});
或者,你可以自己将上面的语句改成普通函数来使用,例如:
function FF_outerHTML(obj,html) {
var Objrange = document.createRange();
obj.innerHTML = html;
Objrange.selectNodeContents(obj);
var frag = Objrange.extractContents();
obj.parentNode.insertBefore(frag, obj);
obj.parentNode.removeChild(obj);
}
调用方法:FF_outerHTML( document.getElementById('Div1') , 'replaced strings' );
订阅
上一篇
返回
下一篇
标签:

非常实用的Windows 2003/XP重启IIS的批处理脚本 (2011-04-27 01:02)
服务器网管系列实用工具 - 监测某个程序运行并阻止,以阻止迅雷为例 (2011-04-25 23:07)
Javascript中Cookie如何跨域访问 (2011-02-07 23:17)
JQuery中监视Ajax的Json操作Error错误原因监控getJson (2011-02-06 23:48)
JavaScript中设为首页和加入收藏的代码(支持FireFox) (2011-01-15 23:41)
强烈推荐:Javascript最精简右下角弹出广告代码(兼容IE和FF) (2010-06-23 01:51)
网页HTML右侧浮动DIV层广告或在线客服图片框最佳代码(支持Firefox&IE) (2010-05-26 11:50)
Javascript中history.go(-1)和History.back()的区别是什么? (2010-04-30 04:08)
JS添加到收藏夹和设置为首页功能支持Firefox和IE——Add to Favorites (IE) / Bookmark (Firefox) Javascript (2010-04-11 06:19)